【发布时间】:2013-09-14 14:45:05
【问题描述】:
我是 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"));
这会产生一些编译错误(在 Linux 中编译):
- itoa 未在此范围内声明
- 没有匹配函数调用“std::basic_ofstream char, std::char_traits char ::open(std::basic_string char, std::char_traits char , std::allocator char)”
我已经尝试过这里的建议:c string and int concatenation 在这里:Easiest way to convert int to string in C++ 没有运气。
如果我使用 to_string 方法,我会得到错误“to_string not a member of std”。
【问题讨论】:
-
如果你买得起 C++11,一个更简单的将整数转换为字符串的方法是使用
std::to_string。例如,请参阅我的答案。