我有100個文件名爲「realization_i.dat」,其中我是一個從0到99的整數。我可以循環遍歷只有整數的文件名嗎?
我想遍歷每個文件以導入用於操作的數據,以便在我的代碼中使用。
我對如何做到這一點不確定,但是這是我到目前爲止有:
for (int i = 0; i < 99; i++) {
string path = "/Users/Olly/Documents/BScProject/WeakLensing/SIGNAL/";
string mainFile = path + "realization_" << i << ".dat";
vector <double> Pos1, Pos2, E1, E2, Z, W, SC;
ifstream in(mainFile.c_str(), ios::in);
我的想法是,對於i = 0,我會輸入來自realization_0數據。 dat文件,然後實現_1.dat文件等,最多可以實現_99.dat。
我收到以下錯誤:
ShearStacks.cpp:41:49: error: invalid operands to binary expression
('std::__1::basic_string<char>' and 'int')
string mainFile = path + "realization_" << i << ".dat";
任何人都可以解釋爲什麼這不工作,並建議遍歷文件的新方法? (相當新的C++。)
爲什麼會* * 「realization_」 <<我<< 「.DAT」 工作? – immibis
我認爲它可能以同樣的方式工作,如果你做cout <<「realization_」<< 0 <<「.dat」你得到realize_0.dat。下面有一個很好的解釋,爲什麼這不起作用。 – crazycrazy