【已解决】VisualStudio写中文报错的解决办法

选择:保存时使用编码--UTF-8带签名(在 VS 中写包含中文的 C++ 代码时,选 "UTF-8 带签名":因为 Windows 系统默认的代码页是 936(GBK),如果文件是无 BOM 的 UTF-8,VS 会把 UTF-8 的中文当成 GBK 解析,导致字符编码错误,触发 C4819 警告或 C2001 编译错误。

如果你写的代码要跨平台(比如同时在 Linux 和 Windows 运行):可以先按 "带签名" 保存(保证 Windows 编译正常),发布到 Linux 时再转为 "不带签名"(避免 BOM 导致程序读取文件时出错)。)

然后:vs的"文件"--保存,然后重新打开这个.cpp文件运行就没问题了

相关推荐
郝学胜_神的一滴10 小时前
C++20 高级编程 001:从极简HelloWorld到现代类型体系全梳理
c++·后端
Lazionr10 小时前
list容器详解——双向链表的封装与使用
数据结构·c++·链表·list
Nil20810 小时前
C++ emplace_back 与 push_back 详解
开发语言·c++
漂流瓶jz10 小时前
UVA-12174 Shuffle的播放记录 题解答案代码 算法竞赛入门经典第二版
数据结构·c++·算法·图论·滑动窗口·算法竞赛入门经典·uva
Darkwanderor11 小时前
线程概念和Linux线程
linux·c语言·c++
lingran__11 小时前
C++ 高阶数据结构:红黑树万字详解|完整原理推导 + 插入实现 + 完整性校验【STL 底层】
数据结构·c++·面试·红黑树·二叉搜索树·平衡二叉树·stl底层
东东最爱敲键盘11 小时前
day9.C++多态之虚函数
开发语言·c++
Darkwanderor11 小时前
Linux线程控制
linux·c语言·c++
Darkwanderor12 小时前
多线程的互斥问题和互斥锁解决互斥问题
linux·c语言·c++
键盘会跳舞12 小时前
C++:std::pair 源码级深度剖析 —— 关联容器的基石
开发语言·c++·pair·关联容器