我想用 C++ 中的记事本打开一个文件,但是如何打开?

MEH*_*SAN 0 c++

我试图通过获取用户输入来打开一个文本文件。

system(topicName.c_str());
Run Code Online (Sandbox Code Playgroud)

在 topicName 是用户输入的情况下不起作用。

即使作为用户,我输入了正确的文件名,它也没有打开相应的文件 (.txt)

 cout << "Intro To C " <<endl; 
 cout << "Intro To C++" <<endl; 
 cout << "Intro To Java " <<endl; 

 cout << "\t\tWhich Topic You Want to edit: ";
 cin.ignore(1000, '\n');
 getline(cin, topicName);

 system(topicName.c_str());
Run Code Online (Sandbox Code Playgroud)

Pra*_*nny 8

假设您在运行程序的目录中有以下文件:

文件列表

然后,以下代码将为您的工作服务:

#include <iostream>
#include <stdlib.h>

using namespace std;

int main() {
    cout << "Intro To C" << endl;
    cout << "Intro To C++" << endl;
    cout << "Intro To Java" << endl;

    string topicName;

    cout << "\t\tWhich Topic You Want to edit: ";
    getline(cin, topicName);

    topicName = "notepad \"" + topicName + "\"";

    system(topicName.c_str());
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

然后在运行时,我们得到以下输出:

Intro To C
Intro To C++
Intro To Java
        Which Topic You Want to edit: Intro To Java
Run Code Online (Sandbox Code Playgroud)

输入此文件后,如果您在 Windows 系统中运行该文件,则该文件将在记事本中打开。如果您使用不同的操作系统,请相应地更改您的程序。

输出