我有一個任務,我應該讀取包含整數(每行一個)的多個文件,並在排序後將它們合併到輸出文本文件中。我是C++的新手,所以我不知道一切是如何工作的。我正在用兩個.txt文件測試我的程序。第一個文件叫做fileone.txt,包含1,2,7(我不知道如何格式化,但它們全都在不同的行上)。第二個文件叫做filetwo.txt,包含1,3,5, 9,10(每個整數都在不同的行上)。使用ifstream從文本文件打印整數
我寫了下面的代碼,它打開這兩個文件並打印內容。
#include <iostream>
#include <fstream>
using namespace std;
int main(int argc, char** argv) {
ifstream iFile;
ifstream jFile;
iFile.open("fileone.txt");
jFile.open("filetwo.txt");
int int1 = 0;
int int2 = 0;
if (iFile.is_open() && jFile.is_open()){
while (iFile.good() || jFile.good()) {
iFile >> int1;
jFile >> int2;
cout << "From first file:" << int1 << endl;
cout << "From second file:" << int2 << endl;
}
}
iFile.close();
jFile.close();
return 0;
}
這個程序的輸出是
我遇到的問題是在第一個文件的最後一個號碼被打印多次。我想要的輸出是在打印文件中的最後一個整數後停止打印。該問題僅在第二個文件包含比第一個文件多的整數時纔會出現。是否有辦法在第一個文件到達最後時停止打印,同時仍然打印第二個文件中的所有數字?
啊,是的。這是我的回答中提到的更好的成語。 – 2014-09-21 03:52:20