我正在编写一个用于管理主机文件条目的应用程序。所以我用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/

10-13 03:32