Qt问题“error C2001: newline in constant”,天坑问题解决方法
再用MSCV编译器下,中文编码问题居多。
- 文件显示正常, 却报错"newline in constant"或者"常量中有换行符"?MSVC在解读文件时会根据文件有没有BOM, (关于什么是BOM请参考链接1), 如果有BOM,那么按照BOM的方式去解读, 如果没有BOM,那么按照本地编码( 对于简体中文的Windows操作系统就是GB2312)去解读.因此我们的问题就出现了, 一般我的QT Creator中的项目editor设置里面默认编码是UTF-8,BOM里呢如果存在则保留
解决方法:使用win10自带的文本编辑器或者Notepad打开出错的文件,然后点击另存为,将编码设置为“带有BOM的UTF-8”
2.如果运行时出现乱码,可以在文件开头加入以下代码:
#pragma execution_character_set(“utf-8”)