我有一個4行輸入文本文件,每行固定長度爲80個字符。我想用空格替換每個逗號。我編寫的代碼如下所示,並在Code :: Blocks IDE中編譯和運行。問題是輸出文件包含額外的行。請您幫助我糾正錯誤。我是C++的初學者。用C++替換文件中的字符
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main()
{
ifstream in("circArc.txt", ios::in | ios::binary);
if(!in)
{
cout << "Cannot open file";
return 1;
}
ofstream out("readInt.txt", ios::out | ios::binary);
if(!out)
{
cout << "Cannot open file";
return 1;
}
string str;
char rep[80]; //replace array
while(in)
{
getline(in,str);
for(int i=0; i<80; i++)
{
if(str[i] == ',')
rep[i] = ' ';
else
rep[i] = str[i];
out.put(rep[i]);
}
out << endl;
}
in.close();
out.close();
return 0;
}
@Antony,看看這個SO問題的答案。 http://stackoverflow.com/questions/42571529/how-to-count-the-number-of-lines-in-a-file-using-c。看起來好像你遇到了同樣的情況。 –
@Antony:因爲你正在調用getline()兩次 – androidFan