写ini文件的重复字段问题

读写ini用了好几年,突然发现一个诡异的问题,明明有一个字段,再次写入重复增加了一个字段。
比如 1.ini:

[Test]
id=1

再次写入,成了:

[Test]
id=1
[Test]
id=1

用了另外的一个文件则没有错误,而且文件内容完全一致。
首先怀疑是内容空格啥的问题,用了Beyond Compare 比较了,一致,不是此问题;
然后怀疑ini注释的问题,删除注释,仍然一样;
文件名大小写的问题,也不是;
还怀疑是unicode和非unicode写入的问题,我同时进行了不同的写入,但是测试也不是这个问题。

真是头大, 百度,google了,都没有人遇到过这个问题。
最后还是用 Beyond Compare 比较了两个文件,最后发现虽然内容一致,但是编码格式不一样,真是没想到,一个文本文件而已。

一个是ansi编码,一个是utf-8编码,utf-8编码的y偶问题,改变了编码格式就对了。

无语啊无语。

你可能感兴趣的:(C/C++)