阅读多个文本文件

时间:2013-03-30 05:00:27

标签: string file-io

我有一个代码:

`int main() {
 int year;

for (year=1880; year<=2011; year++) {
stringstream ss;
ss << year;

string birth = ss.str();

ifstream yob("yob"birth".txt");
}


}`

我想用这个for循环阅读130个文本文件,每个文本文件看起来像“yob1880.txt”或“yob1975.txt”等。我知道ifstream yob(“yob”birth“.txt” )不起作用我只是想说明我想做什么。如何将字符串“yob”添加到字符串year和字符串“.txt”?

谢谢

1 个答案:

答案 0 :(得分:1)

使用stringstream。然后,您可以构建一个字符串并在其上调用ss.str()以检索字符串。 如,

std::stringstream ss;
int n = 5;
ss << "file" << n << ".txt";
std::cout << ss.str() << std::endl;

这会将file5.txt写入标准输出。

编辑:刚检查了文档,看起来std :: ifstream采用的是C字符串,而不是std::string,所以你应该在结果字符串上调用c_str(),例如

std::ifstream file(ss.str().c_str());