dbzhang800:原因呢,你贴的warning中说的很清楚了。解决办法呢,本版置顶中也说差不多了。 (2015-07-06 09:40)
额,你没仔细看我的帖子吧
我的意思是为什么仅一字之差就出现了这个编译错误
dbzhang8002015-07-06 10:55
coolcoolkid:额,你没仔细看我的帖子吧
我的意思是为什么仅一字之差就出现了这个编译错误 (2015-07-06 10:25)
我知道你的意思,你的两个都是错的。
只不过一个MSVC能一条道走到黑,一个走不下去罢了。
dbzhang8002015-07-06 11:19
你的源码是不带BOM的UTF8格式,但是MSVC不知道你用的UTF8。由于你在简体中文Windows系统下,它就认为你用的是GB18030(也叫GB2312,GBK,CP936)。
当你一个汉字时,占3个字节,用GB18030是无法解析的(1个半汉字)。当你2个汉字时,占6个字节,用GB18030碰巧可以解释成3个汉字。
realfan2015-07-06 11:28
LZ的代码原来的格式,无法按GB2312解析。即使编译没有出错,也是运气,不保证能运行时是正常的。
可以在VS的,菜单File->Advanced save options,把Encoding选择成UTF8 with siganature code page65001,保存。再试试
coolcoolkid2015-07-06 11:40
dbzhang800:你的源码是不带BOM的UTF8格式,但是MSVC不知道你用的UTF8。由于你在简体中文Windows系统下,它就认为你用的是GB18030(也叫GB2312,GBK,CP936)。
当你一个汉字时,占3个字节,用GB18030是无法解析的(1个半汉字)。当你2个汉字时,占6个字节,用GB18030碰巧可以解释成3个汉字。