“在注释中遇到意外的文件结束”--记一个令人崩溃的bug

本文描述了在使用UTF8编码环境下,中文注释可能导致的程序编译错误。错误表现为“在注释中遇到意外的文件结束”,原因是中文与英文字符编码问题导致注释未正确关闭。通过修改注释格式,如在中文前后添加英文字符,可以避免此类问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

下午写程序,写的好好的,突然报错“在注释中遇到意外的文件结束”。

下面是官方给出的错误原因是缺少注释终结器 (* /)

// C1071.cpp
int main() {
}

/* this comment is fine */
/* forgot the closing tag        // C1071

实际查找并未找到缺少*/的错误。

之后发现,即使将新添加的代码删除,依然报错。

经过搜索,找到了原因:

utf8 格式出错,有一个注释是/* 中文*/,这里由于编码问题,中文和英文联合起来,吞掉了注释的*/,导致bug。只需要改为/* 中文 */

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

参考:Vc2015 utf8 格式出错

转载于:https://www.cnblogs.com/huipengly/p/10473288.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值