我想创建名称由int variables + ".txt"
组成的文件。我已经尝试过了:
std::string filename = i + ".txt";
sprintf
不是最好的方法 - 至少在我看来,因为它需要一个带有已分配内存的C
样式字符串
sprintf( tmp, "%d.txt", i);
std::string filename = tmp;
也许itoa
是最佳选择?
答案 0 :(得分:5)
您可以使用字符串流
#include <sstream>
...
std::stringstream ss;
ss << i << ".txt";
std::string filename = ss.str();
答案 1 :(得分:3)
std::stringstream fn;
fn << i << ".txt";
std::string filename = fn.str();
答案 2 :(得分:0)
如果您使用的是C ++ 11,则可以使用
的std :: to_string
http://en.cppreference.com/w/cpp/string/basic_string/to_string