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”)
本文介绍了解决MSVC编译器下因文件编码问题导致的“newlineinconstant”错误的方法。通常这类问题是由于文件编码与编译器期望的编码不匹配造成的。文中提供了通过更改文件编码为带有BOM的UTF-8来解决该问题的具体步骤,并给出了运行时避免乱码的代码建议。
5063

被折叠的 条评论
为什么被折叠?



