我怎样才能在屏幕上打开一个文件c ++

How can I open up a file on the screen c++

所以我制作了一个程序来处理建筑物中的住户记录。大部分代码与我的问题无关,除了一个功能,就是将这栋楼内所有住户的记录写入一个.txt格式的打印输出文件。

如果我想在我的 Windows 笔记本电脑上访问此文件,我必须:

  1. Open up File Explorer
  2. search up the file in the search box

现在,我要做的是在屏幕上打开文件,这样用户就不必在文件资源管理器中查找它。我尝试在 Internet 上查找它,但我的每次搜索都与 fstream 打开文件的方法混淆。

同样,为了避免混淆,我的问题是:是否有任何库、函数或代码片段可以让我在计算机屏幕上显示 .txt 文件,以便用户可以避免查看它在文件浏览器上打开(比如在记事本上打开这个文件)?这个问题没有任何地方,我不知道这个任务的难度如何。

如果有帮助,这是我写入文件的代码:

    ofstream print_file;
    print_file.open("PrintOut.txt"); // All records written to this file
    for (int i = 0; i < 57; i++) // Exactly 57 records
    {
        // Here I'm just writing each field of the occupant record in a formatted method to the file.
        print_file << "\nRecord for occupant in appartment number " << Occupant::occupant_apartments[i] << ":\n";
        print_file << "\tOccupant Name:       " << this->occupant_name[i] << endl;

        print_file << "\tLeasing Rights:     ";
        if (this->occupant_leased[i] == "Yes")
            print_file << " Authorized" << endl;
        else if (this->occupant_leased[i] == "No")
            print_file << " Unauthorized" << endl;
        else
            print_file << " Empty Appartment" << endl;

        print_file << "\tParking Issued:     " << this->occupant_parking[i] << endl;
    }
    // Here I'd like to add the code (or make my own code) that will be able to open up Notepad to display the file PrintOut.txt
}

如有任何意见或建议,我们将不胜感激。如果您需要有关我的问题的更多信息或说明,请在评论中告知我。

因为你在 Windows,你可以使用 ShellExecute 函数来做到这一点:

ShellExecuteW(NULL, L"open", L"C:\path\to\my\file.txt", L"", L"C:\path\to\my\", SW_SHOW);

在您的代码中包含 <Windows.h> 以访问 ShellExecute