C++ - 连接字符串(如PHP?)

pen*_*enu 1 c++ string

我环顾四周,但没有找到一个好的答案.

我有这样的文件: text1.txt text2.txt text3.txt

用户想要指定要打开的文件:

int x;
string filename;
cout << "What data file do you want to open? (enter an int between 1 -> 3): ";
cin >> x;
filename = "P3Data" << x << ".txt" ; //does not compile

myfile.open(filename);
Run Code Online (Sandbox Code Playgroud)

这样做的正确方法是什么?

K-b*_*llo 5

要使用流媒体界面,您需要stringstream:

std::ostringstream filename;
filename << "P3Data" << x << ".txt";

myfile.open( filename.str().c_str() );
Run Code Online (Sandbox Code Playgroud)

否则,您可以strings使用+连接两个.