打开文件,文件名为变量

时间:2012-02-20 15:55:10

标签: c++ string variables file-io

我想创建名称由int variables + ".txt"组成的文件。我已经尝试过了:

std::string filename = i + ".txt";

sprintf不是最好的方法 - 至少在我看来,因为它需要一个带有已分配内存的C样式字符串

sprintf( tmp, "%d.txt", i);
std::string filename = tmp;

也许itoa是最佳选择?

3 个答案:

答案 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