c ++:如何在字符串中添加整数

时间:2014-02-17 03:50:11

标签: c++ string integer text-files filenames

int value = rand() % 1000;

string filelocation = "C:/Users/Admin/Documents/textfile"

string textfile = ".txt"; 

如何将这些添加在一起并将其存储到另一个字符串变量

e.g。

string test = "C:/Users/Admin/Documents/textfile123.txt"

这样,每次代码运行时,我都可以创建一个唯一的命名文本文件:

outfile.open(test, std::ios::app);

我试过了:

outfile.open("C:/Users/admin/Documents/textfile" + value + ".txt", std::ios::app);  

但我收到错误'+' : cannot add two pointers

4 个答案:

答案 0 :(得分:2)

使用std :: to_string()函数将值转换为字符串。 你必须outfile.open("C:/Users/admin/Documents/textfile" + std::to_string(value) + ".txt", std::ios::app);

答案 1 :(得分:1)

您可以使用std :: stringstream。试试这样的事情

int value = rand() % 1000;
string filelocation = "C:/Users/Admin/Documents/textfile"
string textfile = ".txt"; 

std::stringstream out;
out << filelocation << value << textfile;
outfile.open(out.str(), std::ios::app);

答案 2 :(得分:0)

你可以使用snprintf或sprintf函数。如果使用snprintf,你必须应用另一个字符串来保存你的“C:/ Users / Admin / Documents / textfile”。 例如: sprintf的(): 的sprintf(STR, “C:\ XXX \%d”,%d);

答案 3 :(得分:0)

如上所述,在使用它之前,您需要将value转换为字符串。现在,您正在尝试将二进制值添加到字符串。寻找stringstream来帮助您了解从intstring的转换。