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
答案 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
来帮助您了解从int
到string
的转换。