2017-04-19 53 views
-1

我正在嘗試替換行文件替換文件C++中的行

aaa bbb ccc 
bbb ccc ddd 
ccc ddd eee 

我要替換的東西二線喜歡

111 222 333 

這樣的結果將是

aaa bbb ccc 
111 222 333 
ccc ddd eee 

我試圖

while (getline(infile, curline)) 
{ 
    if (counter == line) 
    { 
     outfile << input1 << "\t" << input2 << "\t" << input3 << "\t" << input4 << endl; 
     break; 
    } 
    counter++; 
} 

其中是我想要替換的行數。

感謝您的幫助!

+0

@pingul這不,我更換線,我與該行的行號發現它,不啓動字。 – Brky

+1

聽起來像一個微不足道的問題,如果你從那裏提供的答案開始解決。 – pingul

回答

0

文件不是「只是硬盤上的一塊內存」。因此,如果您打算更改文件,則必須創建新內容並更改內容,然後將其重命名爲舊文件的名稱(當然,要刪除舊文件)。所以,儘量修改代碼以類似的東西:

while (getline(infile, curline)) 
{ 
    if (counter == line) 
    { 
     // altered line creation 
     outfile << input1 << "\t" << input2 << "\t" << input3 << "\t" << input4 << endl; 
    } 
    else 
    { 
     // the line goes without changes 
     outfile << curline << endl; 
     counter++; 
    } 
}