我正在编写一个pipe理主机文件条目的应用程序。 所以我用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; }
在提出这个问题之前,我已经阅读了这个问题: 编辑etc \ hosts文件
所以,是的,我试图以pipe理员身份运行该程序,但它仍然无法正常工作。 我的程序如何读取/编辑以pipe理员身份运行的HOSTS?
在C ++中,你必须在字符串中引用反斜杠。 所以试试:
fstream f ("C:\\Windows\\System32\\drivers\\etc\\hosts");
这是因为使用像\n
这样的单个反斜杠对于编译器来说是特殊的。
也许问题是你在文件路径中使用反斜线,而不是以\\
转义?