我試圖訪問一個文件,在某個時候有很多亂碼的文字。我知道這發生在特定行之後(如果使用getline:「key = 0」發現此字符串)。我的目標是擺脫它,用一個字符串替換整行,即。 「你好」,或強制讓最後的字符具有該字符。我該怎麼做?你以前面對過嗎?在這裏,我解釋我的code,但它到目前爲止還沒有解決這個問題。似乎在行尾沒有\ n,或者有一個字符不能被讀取。基本上,我想以編程方式做我會用文本「全部替換」命令。使用getline粉碎訪問的亂碼字符,如何替換它們?
爲了清楚我的文件是怎麼樣的,在這裏它是原始的「example.log」(我不能附加到某處)。
2017-08-03 09:38:46 Expeum im6
2017-08-03 09:38:46 nubla4
2017-08-03 09:38:46 blaze
2017-08-03 09:38:46 ue
2017-08-03 09:38:46 er
2017-08-03 09:38:46 key = 0
2017-08-03 09:38:46 Q2žl2pE&ö³„Ôï¬ÈL+g…^cÎ1áø/7E›¸¥ü‰úLÎ’Æ
2017-08-03 09:38:46 81B9CEandrew499OEE4MUI5Q0VhbmRyZXc0OTk=
2017-08-03 09:38:47 B9CEandrew499OEE4MUI5Q0VhbmRyZXc0OTk=
2017-08-03 09:38:48 bla
2017-08-03 09:38:49 OK
2017-08-03 09:50:12 key = 0
2017-08-03 09:50:12 E&ö³„Ôï¬ÈL+g…^cÎ1áø/7E›¸¥ü‰úLÎ’Æ
,這裏是我在截除文件獲得:
2017-08-03 09:38:46 Expeum im6
2017-08-03 09:38:46 nubla4
2017-08-03 09:38:46 blaze
2017-08-03 09:38:46 ue
2017-08-03 09:38:46 er
因此,您所需的輸出包含「key = 0」行和其他所有內容*,但*緊跟在「key = 0」行之後的行?你在使用Visual Studio嗎?我只是想知道在這些行中是否可以解釋爲EOF字符? –
糟糕,我添加了C++標籤。我忘記了會吸引所有通過downvoters的驅動器。對不起。 –
是的,我確實使用visual studio。他們爲什麼會低估它?因爲我正在用C++編寫我想要有標籤。 – user6812514