2012-02-20 59 views
2

我想创建名称由int variables + ".txt"组成的文件。我已经尝试过这样的:以文件名作为变量打开文件

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

sprintf是不是最好的办法 - 至少在我看来,因为它需要一个C风格字符串分配的内存

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

也许itoa是最好的选择?

回答

5

如果您正在使用C++ 11可以使用一个字符串流

#include <sstream> 

... 
    std::stringstream ss; 
    ss << i << ".txt"; 

    std::string filename = ss.str(); 
3
std::stringstream fn; 
fn << i << ".txt"; 
std::string filename = fn.str();