解决方案

Visual Studio error C2001-常量中有换行符(解决办法)​

seo靠我 2023-09-24 05:57:15

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

1

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

  编译时会出现以下错误:

error C2001:常量中有换行符

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

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

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

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

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

有个叫wvaSEO靠我的人遇到过类似问题,他向微软提交了此bug http://connect.microsoft.com/VisualStudio/feedback/details/341454/compSEO靠我ile-error-with-source-file-containing-utf8-strings-in-cjk-system-locale 根据Visual C++ CompileSEO靠我r Team员工的解释: The compiler when faced with a source file that does not have a BOM the compileSEO靠我r reads ahead a certain distance into the file to see if it can detect any Unicode characters - it sSEO靠我pecifically looks for UTF-16 and UTF-16BE - if it doesnt find either then it assumes that it has MBCSEO靠我S. I suspect that in this case that in this case it falls back to MBCS and this is what is causing tSEO靠我he problem. 看见了吧,对于那些没有BOM的文件设计就是这样的。从语气上看,他们编译器小组也不打算修改设计。所以呢,在VC上使用“无签名的UTF-8”编码的文件,你就是在抱着SEO靠我一颗不定时炸弹玩耍。因为你永远都不敢确定哪些词能通过编译,哪些不能!如果要硬编码字符串,即便是字符编码转换也不一定能帮不上你。一旦你为此增加了字符编码转换的代码,那么也意味着可移植性降低了。因为这从根SEO靠我本上是编译器决定的。

原文:Visual Studio error C2001:常量中有换行符(解决办法) - VictoKu - 博客园

“SEO靠我”的新闻页面文章、图片、音频、视频等稿件均为自媒体人、第三方机构发布或转载。如稿件涉及版权等问题,请与 我们联系删除或处理,客服邮箱:html5sh@163.com,稿件内容仅为传递更多信息之目的,不代表本网观点,亦不代表本网站赞同 其观点或证实其内容的真实性。

网站备案号:浙ICP备17034767号-2