我试图访问一个文件,在某个时候有很多乱码的文字。我知道这发生在特定行之后(如果使用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