我是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中编译):
我在这里尝试过这样的建议:c string和int concatenation and here:在C++中将int转换为字符串的最简单方法,没有运气.
如果我使用to_string方法,我最终得到错误"to_string不是std的成员".
您可以使用a stringstream来构造文件名.
std::ostringstream filename;
filename << "File - " << n << ".txt";
resultsFile.open(filename.str().c_str());
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8782 次 |
| 最近记录: |