C++ int to string,连接字符串

Luk*_*cky 1 c++ string g++

我是C++的新手,正在开发一个简单的项目.基本上我遇到问题的地方是在文件名中创建一个带数字(int)的文件.在我看来,我必须首先将int转换为字符串(或char数组),然后将此新字符串与文件名的其余部分连接起来.

到目前为止,我的代码无法编译:

int n; //int to include in filename
char buffer [33];
itoa(n, buffer, 10);
string nStr = string(buffer);

ofstream resultsFile;
resultsFile.open(string("File - ") + nStr + string(".txt"));
Run Code Online (Sandbox Code Playgroud)

这会产生一些编译错误(在Linux中编译):

  1. itoa未在此范围内声明
  2. 没有匹配函数来调用'std :: basic_ofstream char,std :: char_traits char :: open(std :: basic_string char,std :: char_traits char,std :: allocator char)'

我在这里尝试过这样的建议:c string和int concatenation and here:在C++中将int转换为字符串的最简单方法,没有运气.

如果我使用to_string方法,我最终得到错误"to_string不是std的成员".

cdm*_*dmh 6

您可以使用a stringstream来构造文件名.

std::ostringstream filename;
filename << "File - " << n << ".txt";
resultsFile.open(filename.str().c_str());
Run Code Online (Sandbox Code Playgroud)