zoukankan      html  css  js  c++  java
  • 应对 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 格式啦。

  • 相关阅读:
    建造者模式5(7)
    抽象工厂模式4(6)
    工厂方法模式3(5)
    jxl导出excel(2)
    jxl导入excel(1)
    java8新特性字符串转LocalDateTime转Date(6)
    极光推送java服务端-通知(2)
    极光推送java服务端-通知(1)
    SpringCloud微服务之Ribbon负载均衡(一)
    cenos7搭建gitlab
  • 原文地址:https://www.cnblogs.com/notfound/p/9039046.html
Copyright © 2011-2022 走看看