我将 exe 文件中的所有内容保存到 char buffer
。
当我尝试时:
string bufferStr=(string)buffer;
cout<<bufferStr.length();
我知道 bufferStr
比 buffer
小得多,所以我想因为我正在读取一个 exe 文件,所以我在其中某处读取了一个转义字符 "\0 "或其他内容。
如何使用 buffer
来 cout
甚至写入文件,而不用 buffer 转义任何字符?
谢谢
最佳答案
stirng 构造函数对您的数据长度一无所知,并假定它是以 0 结尾的字符串。你应该使用
string bufferStr=string(buffer, bufferSize);
cout<<bufferStr.length();
使用这样的构造函数字符串也将节省 \0
字节。
关于c++ - 从 char 中 cout exe 文件内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29757192/