c++ - 从 char 中 cout exe 文件内容

标签 c++ string char fstream

我将 exe 文件中的所有内容保存到 char buffer

当我尝试时:

string bufferStr=(string)buffer;
cout<<bufferStr.length();

我知道 bufferStrbuffer 小得多,所以我想因为我正在读取一个 exe 文件,所以我在其中某处读取了一个转义字符 "\0 "或其他内容。

如何使用 buffercout 甚至写入文件,而不用 buffer 转义任何字符? 谢谢

最佳答案

stirng 构造函数对您的数据长度一无所知,并假定它是以 0 结尾的字符串。你应该使用

string bufferStr=string(buffer, bufferSize);
cout<<bufferStr.length();

使用这样的构造函数字符串也将节省 \0 字节。

关于c++ - 从 char 中 cout exe 文件内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29757192/

相关文章:

c++ - QtCreator : How to compile external source files

C++ 从文本文件中读取

c++ - 用isalnum拆分字符串并存储到字符串 vector 中

c++ - C++文本文件末尾的两个点

cygwin 终端中的 ruby​​ 读取字符

c - 使用 memcpy 和 strtoul 获取乱码而不是数字

C++字符数组不显示地址

C++ 对齐(何时使用 alignas)

Javascript:将字符串转换为完整的月份到日期对象

javascript - 如何查找字符串中两个字符之间的多个值 - JS