C int转换为字符串,连接字符串
作者:互联网
这个问题已经在这里有了答案: > How to concatenate a std::string and an int? 22个
我是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不是std的成员”.
解决方法:
您可以使用stringstream构造文件名.
std::ostringstream filename;
filename << "File - " << n << ".txt";
resultsFile.open(filename.str().c_str());
标签:c,string,g 来源: https://codeday.me/bug/20191013/1907094.html