Increment a variable string & Multi fstream open c++

Increment a variable string & Multi fstream open c++

本文关键字:fstream open c++ Multi variable string Increment      更新时间:2023-10-16

如何在C++中递增字符串变量?我的问题是:我想打开多个文件(OUT1.txtOUT2.txt,…)并在这些文件中搜索,但我无法为fstream创建文件名(确切地说。打开…)!

我的想法是:

void Browser(){
    int N = 4 ; // Number of files
    vector <string> S;
    string A;
    stringstream L;
    for(int i=0;i<N;i++)
    {
        L<<"OUT"<<i<<".txt";
        A = L.str();
        File.open(A.c_str()); 
        //.......
        //.......
    }
}

但是当我检查A(cout A;)我发现了这个:

OUT0.txtOUT0.txtOUT1.xtOUT0.txtOUT1.xtOUT2.txtOUT0.txtOUT1.xtOUT2.txtOUT3.txt

而且只需要一个学期!为什么?

因为每次在循环中,都会将更多内容附加到同一个std::stringstream

for循环中移动std::stringstream L的声明,以便在每次迭代中实例化一个新的、空的std::stringstream