2012-02-20 40 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();