c++ - C++中的Exe文件的结尾

标签 c++ iostream exe

我正在编写一个 C++ 程序来读取一个 exe 文件。我写了它并在文本文件而不是 exe 文件上测试它。这是真的。

当我使用 exe 文件对其进行测试时,我了解到我的 exe 文件中有 0x00 值(不是在其末尾)。所以我的 while 循环在文件结束前停止,因为我使用了:

class A{
private:
ifstream myFile;
void Read(char *filename)
};

void A::Read(char *str)
{
myFile.open(str,ios::binary);

    while (!myFile.eof())
    {
       InputFile.get(ch);
       myString.push_back(ch);
    }
}

我该怎么办?如果我应该使用文件的大小,我怎样才能得到它?

最佳答案

您必须使用 std::ios::binary 模式标志打开文件流。

关于c++ - C++中的Exe文件的结尾,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9339852/

相关文章:

c++ - 具有抽象类的 unique_ptr 成员和复制构造函数的工厂方法模式

c++ - 基于模板参数类型的调用函数

c++ - IO流是否可移植

c++ - 将 std::cout 重定向到 QTextEdit

c++ - 外部 exe/dll 或 WTF 的镜像基地址?

带有描述的 C++ 智能感知

c++ - ostream 运算符的编译时重载

c++ - 好友ostream无法访问私有(private)成员(member)

c++ - 如何使用 Visual C++ 构建独立的 SDL 项目?

java - 如何在java中获取.exe文件的最后 'n'字节?