如何使用C ++消除记事本.txt文件中的BOM? [重复]

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用C ++消除记事本.txt文件中的BOM? [重复]相关的知识,希望对你有一定的参考价值。

这个问题在这里已有答案:

我想使用来自库fstream的ifstream fin读取.txt文件,但是在文件开头有一个导致问题的BOM。有没有办法,我可以从我的C ++程序中删除.txt文件中的BOM,以便fin可以读取它而没有任何问题?我知道我可以自己手动删除文件中的BOM,但我有多个我正在使用的文件,所以这需要一段时间。

我的问题类似于这个问题,除了这个问题在Java中:

How to make Notepad to save text in UTF-8 without BOM?

korifey的回答是我要找的,他们说:

使用PushbackInputStream(in,3)

我可以用C ++做类似的事情吗?还应该注意的是,我只有记事本(不是Notepad ++),最好在不下载任何新软件的情况下解决我的问题。我也不想改变记事本本身对BOM的看法,我只是想从我的.txt文件中物理删除BOM。我正在处理的BOM是前8个字符。

答案

通过以二进制模式打开文件,读取所有数据并将除BOM之外的所有内容复制到另一个文件,然后删除旧文件,最后将新文件重命名为旧文件名称,这将是最简单的方法。

以上是关于如何使用C ++消除记事本.txt文件中的BOM? [重复]的主要内容,如果未能解决你的问题,请参考以下文章

Bash:如何消除字符串中的所有数字字符,但保留括号内的字符?

我们如何修复 ADLS Gen 2 中的增量位置文件

python/zip:如果提供了文件的绝对路径,如何消除 zip 存档中的绝对路径?

linux sed 使用 我有个1.sh文件内容如下 sed -i 's/$1/$2/g' 1.txt

如何消除erb中的换行符

如何消除程序中的链接器错误?