我正在编写一个用于管理主机文件条目的应用程序。所以我用C++写了一些代码,试图访问和读取HOSTS文件:
#include <iostream>
#include <stdlib.h>
#include <fstream>
using namespace std;
int main(void)
{
string line;
fstream f ("C:\Windows\System32\drivers\etc\hosts");
if ( f.is_open() )
{
while ( f.good() )
{
getline(f,line);
cout << line << endl;
}
f.close();
} else
cout << "Error" << endl;
system("pause");
return 0;
}
在提出此问题之前,我已阅读以下内容:edit the etc\hosts file
因此,是的,我尝试以管理员身份运行该程序,但仍然无法正常工作。我的程序如何读取/编辑以管理员身份运行的主机?
最佳答案
在C++中,必须在字符串文字中引用反斜杠。因此,请尝试:
fstream f ("C:\\Windows\\System32\\drivers\\etc\\hosts");
这是因为使用像
\n
这样的单个反斜杠对编译器来说是特殊的。关于c++ - 在Windows上编辑HOSTS文件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8017922/