Vc2015 utf8 格式出错

(金庆的专栏)

用Vc2015新建一个项目,如下添加一行中文注释。
然后将这个文件改为utf8无BOM格式,再转换行结束符为Unix格式。

#include "stdafx.h"

// 读出错测试
int main()
{
    return 0;
}

Vc2015编译就会出错。
1>------ 已启动生成: 项目: ConsoleApplication3, 配置: Debug Win32 ------
1>  ConsoleApplication3.cpp
1>e:\temp\consoleapplication3\consoleapplication3.cpp : warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失
1>e:\temp\consoleapplication3\consoleapplication3.cpp(6): error C2447: “{”: 缺少函数标题(是否是老式的形式表?)
========== 生成: 成功 0 个,失败 1 个,最新 0 个,跳过 0 个 ==========

原因为中文注释与下面的main()合并成了一行,main()被注释掉了。
中间添加一个空行就好了。

和注释中文有关:

// 试

这样的也会出错。

// 出错测试

不会出错。

实际上是中文“吃”掉了后面紧跟的"\n"字符,如果是“\r\n”则仍有换行符'\n'.

另外还发现  /*竞技场消息*/ 会“吃”掉注释结束符中的*号,报错:

fatal error C1071: 在注释中遇到意外的文件结束

例如:

int main()
{
    /*竞技场消息*/
    return 0;
}

所以为了不出错,中文注释可能应该前后加英文字符,如前面加空格,后面加‘.’号。

例如:

int main()
{
    /* 竞技场消息 */
    // 读出错测试.
    // 读出错测试:
    return 0;
}

Vc2015 utf8 格式出错的更多相关文章

  1. c++ 文件utf-8格式

    #include <stdio.h> int i = 0; while (i < 20) {    i++;    WriteLog("d:\\log.txt", ...

  2. LoadRunner 如何将英文的字符串转换成UTF-8格式的字符串?

    7.48  如何手动转换字符串编码 1.问题提出 如何将英文的字符串转换成UTF-8格式的字符串? 2.问题解答 可以使用lr_convert_string_encoding函数将字符串从一种编码手动 ...

  3. Python:将utf-8格式的文件转换成gbk格式的文件

    需求:将utf-8格式的文件转换成gbk格式的文件 实现代码如下: def ReadFile(filePath,encoding="utf-8"): with codecs.ope ...

  4. python输出excel能够识别的utf-8格式csv文件

    http://blog.csdn.net/azhao_dn/article/details/16989777 可能大家都遇到过,python在输出的csv文件中如果有utf-8格式的中文,那么在使用e ...

  5. 在windows中,如何使用cmd命令行窗口正确显示编码为utf-8格式的文字

    在windows中,如何使用cmd命令行窗口正确显示编码为utf-8格式的文字呢? 正确的步骤如下: 1, 打开cmd命令行窗口 2, 输入命令 >chcp 65001 数字65001代表的是c ...

  6. php输出utf-8格式

    header("Content-type:text/html;charset=utf-8"); 输出数据前插入以上代码,以utf-8格式输出,避免乱码

  7. xmlWriter 以UTF-8格式写xml问题

    dom4j中的XMLWriter提供以下几种构造方法: XMLWriter() XMLWriter(OutputFormat format) XMLWriter(OutputStream out) X ...

  8. 一般php创建的文件默认不是utf-8格式的,在网上搜罗的解决办法如下:

    1.PHP本身是无编码的,所有的字符串通常都视为二进制流.因此只需要输入的字符串为Utf-8即可.若字符串采用其他编码,可以使用iconv系列函数转换编码. 2.注$content = iconv(& ...

  9. MySQL创建数据库[保存mojo格式的数据库]已经常用的utf8格式数据库

    一.创建最新编码utf8mb4格式的库: CREATE DATABASE IF NOT EXISTS yourdbname CHARACTER SET utf8mb4 COLLATE utf8mb4_ ...

随机推荐

  1. 031718-js变量、数据类型、运算符

    1.关键字.标识符.变量(是一个名称,最好用字母开头,对大小写敏感).常量 (是有数据类型的一个值) 变量: ①定义并赋值 ②使用   2.数据类型:数字  字符串  布尔  null  undefi ...

  2. [LeetCode] My Calendar III 我的日历之三

    Implement a MyCalendarThree class to store your events. A new event can always be added. Your class ...

  3. 词向量:part 1 WordNet、SoW、BoW、TF-IDF、Hash Trick、共现矩阵、SVD

    1.基于知识的表征 如WordNet(图1-1),包含同义词集(synonym sets)和上位词(hypernyms,is a关系). 存在的问题: 作为资源来说是好的,但是它失去了词间的细微差别, ...

  4. python爬虫——爬取小说 | 探索白子画和花千骨的爱恨情仇(转载)

    转载出处:药少敏   ,感谢原作者清晰的讲解思路! 下述代码是我通过自己互联网搜索和拜读完此篇文章之后写出的具有同样效果的爬虫代码: from bs4 import BeautifulSoup imp ...

  5. Centos常用命令之:ln

    在linux中[ln]这个命令用来创建连接文件. 共有两种连接文件:一种是类似与Windows的快捷方式(软链接),另一种就是通过文件系统的inode来产生的新的文件名(硬链接). 这里解释下什么叫i ...

  6. [AHOI 2016初中组]自行车比赛

    Description 小雪非常关注自行车比赛,尤其是环滨湖自行车赛.一年一度的环滨湖自行车赛,需要选手们连续比赛数日,最终按照累计得分决出冠军.今年一共有 N 位参赛选手.每一天的比赛总会决出当日的 ...

  7. [Codeforces 863D]Yet Another Array Queries Problem

    Description You are given an array a of size n, and q queries to it. There are queries of two types: ...

  8. 2017ACM/ICPC广西邀请赛-重现赛 1004.Covering

    Problem Description Bob's school has a big playground, boys and girls always play games here after s ...

  9. BI之SSIS入门最新版Visual Studio调试技巧

    简介 最近公司业务需要用到BI SSIS,SSIS是什么?"SSIS是Microsoft SQL Server Integration Services的简称,是生成高性能数据集成解决方案( ...

  10. nodejs基础教程回顾01

    最近在复习nodejs,因为框架太多隔一段时间不用就会忘了,所以没办法必须时常拿出来练练,就像家里有好几辆车,要时不常的轮流开一圈.我就从最基础的开始写,怎么下载安装就不说了,首先是nodejs的三类 ...