是否可以读写头文件?

时间:2019-05-28 16:02:53

标签: c++ header header-files ifstream ofstream

所以我试图覆盖头文件中的宏,但似乎无法通过使用std :: ifstream打开它。甚至有可能读取/写入现有的头文件,或者是否存在不允许程序修改头文件内容的默认权限?

std::ifstream versionH;
char temp[100];
versionH.open("..\temp.h");
if (!versionH.is_open()) {
    std::cout << "Didn't open" << std::endl;
    return 1;
}
while (!versionH.eof()) {
    versionH >> temp;
    std::cout << temp << std::endl;
}

我希望我能够读取头文件并显示其内容,但是'versionH.is_open()'返回的是false。这里有我想念的东西吗?

1 个答案:

答案 0 :(得分:1)

  

是否可以读写头文件?

标题是文件。可以读取和写入文件(假设文件存在,并且该进程具有足够的权限等)。因此,我们可以推断出可以读写头文件。

请注意,修改用于编译程序的头文件对编译后的程序没有影响。它只会影响使用修改后的文件编译的程序。

此外,在编译程序的上下文中的文件与该程序无关。只能读取执行程序的文件系统中的文件。

  

我这里缺少什么吗?

该文件可能不存在。文件名是最可疑的。它是否真的包含制表符(\t),还是您打算编写(windows)目录分隔符?反斜杠是转义字符,因此,为了将其写为字符串文字,必须将其转义(带有另一个反斜杠:\\)。

相关问题