其他分享
首页 > 其他分享> > C int转换为字符串,连接字符串

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