在Ubuntu系统中编写且正常运行的C++代码,移植到Windows系统中,用Microsoft Visual C++ 2019编译时,出现了以下报错:
错误 C2001 常量中有换行符
错误 C2143 语法错误: 缺少“;”(在“return”的前面)
原因可能是中文字符编码格式导致的异常。
完美解决办法如下:
用Notepad++打开报错文件。
将Unix格式转换成Windows格式,将UTF-8转成UTF-8-BOM编码。
如图
文件原为Unix格式,UTF-8编码,现通过以下两步:
将cpp文件改成Windows格式,UTF-8-BOM编码
改完过后,VS2019编译无报错,且运行后控制台打印的中文Log无乱码。