在Visual Studio自动生成的项目中,碰见了一件关于文件编码的问题,集中在类似于以下的语句上:

DASLog (DASProtWarn, L"(%s)消息超时,进入慢循环召唤模式。", GetHierarchyName());

编译时会出现以下错误:

error C2001:常量中有换行符

该错误的原因很显然是文件编码的问题,在网上搜索了一下,找到了如下解决办法:

(1)全部用英文编码,不要用中文

(2)偶数中文 或 结尾加英文的符号,如"."

(3)将文件编码进行一个手动(如记事本)转换,改成UTF-8格式

我采用了第二种方式,直接将末尾的中文“。”改成了英文的“.”,该错误就解决了!

有个叫wva的人遇到过类似问题,他向微软提交了此bug

http://connect.microsoft.com/VisualStudio/feedback/details/341454/compile-error-with-source-file-containing-utf8-strings-in-cjk-system-locale

根据Visual C++ Compiler Team员工的解释:

The compiler when faced with a source file that does not have a BOM the compiler reads ahead a certain distance into the file to see if it can detect any Unicode characters - it specifically looks for UTF- and UTF-16

c语言 error c2001,Visual Studio error C2001:常量中有换行符(解决办法)相关推荐

  1. QT 打印中文字符显示C2001:常量中有换行符解决办法

    问题如上所示,废话少说 解决方法 第一步:打开一个项目,工具-选项-文本编辑器,在文本编辑器界面的文本编码地方选择 默认编码选择UTF-8: UTF-8 BOM选择 如果编码是UTF-8则添加: 做完 ...

  2. QT MSVC中文编译出错error: C2001: 常量中有换行符

    Qt error: C2001: 常量中有换行符 QT上用MSVC去编译部分含有中文的字符串时会出现编译错误error: C2001: 常量中有换行符 解决方法: 1.设置是工具->选项-> ...

  3. c语言 error c2001,error C2001: 常量中有换行符解决方案

    场景 修改同事引入的代码,添加中文日志打印,编译出错: error C2001: 常量中有换行符 fatal error C1057: 宏扩展中遇到意外的文件结束 错误指向了中文输出的日志打印代码行, ...

  4. Visual Stdio 中的error C2001: 常量中有换行符

    error C2001: 常量中有换行符 问题: 使用Visual Stdio,cout中文的时候,有的时候可以正常编译并运行,但是有的时候会出现error C2001: 常量中有换行符. 出现err ...

  5. QT5对话框的中文字符串【乱码】 (error: C2001: 常量中有换行符)

    问题解决:对话框的中文字符串[乱码] (error: C2001: 常量中有换行符) 假设编译环境:QT5+vs2015 项目配置: 默认编码:UTF-8 UTF-8 BOM: 目前存在了则保留 如果 ...

  6. Visual Studio 2017在编译OpenCV 4.2.0时出现编译器错误C2001:常量中有换行符

    Visual Studio 2017在编译OpenCV 4.2.0时出现编译器错误C2001:常量中有换行符 问题描述: Visual Studio 2017在编译OpenCV 4.2.0时出现编译器 ...

  7. Qt5 bug error c2001: 常量中有换行符

    昨天被qt creator中的"error c2001: 常量中有换行符"问题折腾了一天,今天终于找到解决办法啦. 传说上面这个问题是qt creator 的一个bug,在vs中编 ...

  8. c++ C2001 常量中有换行符

    C2001 常量中有换行符 我的问题,include结尾没有加双引号 #include "dirent.h 解决方法,include需要完整加双引号. 网上其他解决方案1: 点击VS菜单栏上 ...

  9. 解决“C2001:常量中有换行符“编译问题

        用Virsual Studio编译代码时,有时会出现"C2001:常量中有换行符"问题,出现这种现象的原因是当前编码是"UTF-8不带BOM",要改成& ...

最新文章

  1. 漂浮机器人新进展:Cimon的头部将为国际空间站带来人工智能
  2. ZooKeeper场景实践:(6)集群监控和Master选举
  3. java线程 教程_Java多线程系列教程
  4. MIMIC 以太坊医疗项目开发(7) 医疗智能合约 sample
  5. python自带time库吗_Python的内置库time
  6. Timer和TimerTask详解
  7. [html] 你了解什么是无障碍web(WAI)吗?在开发过程中要怎么做呢
  8. JS组件系列——BootstrapTable+KnockoutJS实现增删改查解决方案(三):两个Viewmodel搞定增删改查
  9. Office for Mac升级提醒如何去掉?关闭Mac的Microsoft AutoUpdate弹框提示
  10. Luogu3444:[POI2006]ORK-Ploughing
  11. Win10纯净版和官方原版哪个好?
  12. 基于氢探PowerECU的燃料电池控制系统开发经验
  13. 机器学习(2)——监督学习
  14. 各种照片尺寸和分辨率
  15. Circular Local MiniMax
  16. IntelliJ IDEA 下集成SVN
  17. TrackMouseEvent处理鼠标消息
  18. 仙剑三功略(结局,冶炼,魔剑养成)
  19. 今年C++找工作这么这么难?
  20. case when then 的两种写法

热门文章

  1. JavaScript实现手机震动效果
  2. 曼哈顿距离,欧式距离,明式距离,切比雪夫距离区别
  3. python tk下拉列表_Python 窗体(tkinter)下拉列表框(Combobox)实例
  4. 如何将计算机网络设置为家庭网络连接打印机共享,怎样设置家庭网络打印机共享...
  5. 射频卡读写原理及实现
  6. 汇编语言学习笔记06——加减乘除和其他一些指令
  7. configure报错
  8. flashback的配置
  9. 【阿里云IoT+YF3300】7.物联网设备表达式运算
  10. 什么是Socks5代理?