Loading

应对 Visual Stdio 编译时出现错误:常量中有换行符

 

  笔者最近用 Visual Stdio 时,发现一个问题,在某一次写完语言进行编绎运行时,出现了以下错误:

    C2001错误:变量中有换行符

    C2413错误:语法错误 缺少")"(在"else"的前面)

    C4819警告:该文件包含不能在当前代码页(936)中表示的字符。请将文件保存为 Unicode 格式防止数据丢失

    

    下代码并没有什么错误,笔者查询后,正如警告那样是保存文件编码格式问题。如何解决呢 ,就是将源文件保存为 带签名的 UTF-8 的 Unicode 格式。

    文件菜单下的 保存 按钮好像不能自定义保存编码的格式,而且另存为也没有什么用,只是保存不同后缀名的文件,总之不能解决这个编码问题。

    如何解决:

      首先要找到 高级保存选项 ,当然默认不是在菜单下显示的,需我们手动去设置。在 工具 -> 自定义 -- 命令

      

      菜单栏的右侧下拉列表中选择 文件 菜单(当然啦 这个没有要求 你想在哪添加这命令都行 比如直接在菜单栏上添加 一般我们将此放在 文件 菜单下)

      

      点击右侧添加命令,在左侧的类别框中找到 文件 选定,然后在右侧框命令列表找到 高级保存选项 ,大概在 2/3 的位置处。

      确定后就可以在你所设置的位置找到这个 高级保存选项 命令了。

      

 

      如笔者这样,当前保存的编码格式为 Unicode (UTF-8 无签名)- 代码页 65001 是 Unicode 编码保存的 没错,但是吧,这个无签名的 UTF-8 就是问题了。

      

      将其更改为列表中的第二项 Unicode (UTF-8 带签名) - 代码页 65001 这样保存后再去编译运行之前的代码,OK啦,没问题。

      出现这个问题,以笔者个人的推测可能是输入了一些特殊的字符,然后直接编译运行,使得 Visual Stdio 以它的判断来保存文件及编码格式,这些特殊字符就可能被视为无签名的 UTF-8 格式啦。

posted @ 2018-05-15 08:10  notfound945  阅读(783)  评论(0编辑  收藏  举报