#include <iostream>
#include <string>
#include <cstring>
#include <fstream>
using namespace std;
int main() {
string firstFile, secondFile, temp;
ifstream inFile;
ofstream outFile;
cout << "Enter the name of the input file" << endl;
cin >> firstFile;
cout << "Enter the name of the output file" << endl;
cin >> secondFile;
inFile.open(firstFile.c_str());
outFile.open(secondFile.c_str());
while(inFile.good()) {
getline(inFile, temp, ' ');
if ( temp.substr(0,4) != "-----"
&& temp.substr(0,5) != "HEADER"
&& temp.substr(0,5) != "SUBID#"
&& temp.substr(0,5) != "REPORT"
&& temp.substr(0,3) != "DATE"
&& temp != ""
&& temp != "")
{
outFile << temp;
}
}
inFile.close();
outFile.close();
return 0;
}
大家好。我試圖從文本文件中輸出所有不符合控制結構中的條件的行 - 即沒有空行,沒有符號等。但是,當我運行此代碼時,它會輸出所有內容,而不會考慮我的具體要求。如果有人能告訴我我做錯了什麼,將不勝感激。getline收到的過濾器輸入
首先,你不應該循環'而(inFile.good())'。而是使用'while(getline(...))'。 – 2013-03-01 15:07:24
你想處理線條或文字嗎? – Slava 2013-03-01 15:10:00