printf打印带中文的字符串不乱码的编译注意事项

轴承寿命预测 | 基于BiLSTM双向长短期记忆神经网络的轴承寿命预测附matlab完整代码 阅读详情

MS C编译器

MS C编译器会把源程序转换为当前代码页编码的源程序。

  1. 如果源程序是ANSI(当前代码页936)编码,直接编译;
  2. 如果源程序是不带BOM的UTF-8,则编译的时候需要加-source-charset:UTF-8;
  3. 如果源程序是带BOM的UTF-8、UTF-16LE、UTF-16BE,直接进行编译。

GCC

GCC编译器不执行转换源程序为当前代码页编码的源程序,它假定源程序是UTF-8编码。

1、如果源程序是ANSI(当前代码页936)编码,直接编译;

2、如果源程序是ANSI(当前代码页936)编码但如果有wprintf打印L””的字符串,则需要添加编译选项-finput-charset=gbk;

3、如果源程序是UTF-8,无论带不带BOM,都能正常编译,但打印乱码,需要增加编译选项-fexec-charset=gbk;

4、如果源程序是UTF-16,则如果源程序包含了其它ANSI头文件和库函数,则无法进行编译,若不包含其它ANSI头文件和库函数,则可以通过增加-finput-charset=utf-16le或-finput-charset=utf-16be来编译源文件。

wprintf打印带中文的字符串,需要在源程序中添加setlocale(LC_ALL, "");

分享一个我自用的 Python 消息发送模块,支持邮件、钉钉、企业微信 🔥 分享一个我自用的 Python 消息发送模块,支持邮件、钉钉、企业微信 阅读详情

相关推荐

实战指南:如何用Elasticsearch+Milvus搭建十亿级多模态搜索系统(含性能调优)

本文详细介绍了如何利用Elasticsearch和Milvus构建十亿级多模态搜索系统,包括架构设计、性能调优和实战部署。通过混合架构实现高效文本检索与向量相似度计算,显著提升查询性能与扩展能力,适用于大规模多模态数据处理场景。

x8y9z0的博客 1171

C语言输出中文字符串 格式对齐

在 C 语言中输出中文字符串的方法是: 使用 fprintf() 函数,它能够输出到文件中。你可以使用它将字符串输出到屏幕上,方法是将标准输出 stdout 作为它的第一个参数。 例如: fprintf(stdout, "这是一个中文字符串。\n"); 使用 printf() 函数,它是 fprintf() 的简化版本,能够直接输出到屏幕上。 例如: printf("这是一个中文字符串。\...

weixin_35757191的博客 4312

【Python机器学习实战】 | 基于PCA主成分分析技术读入空气质量监测数据进行数据预处理并计算空气质量综合评测结果

主成分分析(Principal Component Analysis, PCA)是一种常用的机器学习和数据分析技术,用于降低数据维度、识别数据中的模式、发现变量之间的关系等。

一伦明悦的博客 1263

printf(%s)输出中文(C语言)

注意:用%s输出时,必须保证数据类型是char*!

张愚的博客 1664

【从零开始玩量化7】easyTrader: 自动化(程序化)交易利器

前面的文章,我们介绍了数据获取工具AKShare, 量化回测工具backtrader等,这一篇,介绍程序化交易工具easyTrader。作者网名食灯鬼,目前项目在Github上的star数已经有6.7k。这可能是目前,开源能找到的,最好用的程序化交易库了。本文介绍了easyTrader的简单用法,这个包还有很多功能,后续再继续写文章探究。

量化投资助手的博客 1万+

发票OFD格式转换成PDF

发票OFD格式转换成PDF

Be_insighted的博客 931

c语言汉字的存放和输出,怎么在C语言里用printf输出一个中文

一般情况下,应用程序采用的字符集为gbk, gb2312,该字符集中一个汉字由两个字节组成,所以在普通的C语言中,汉字是按字符串进行存储和输出的。(另:还有utf8字符集,一个汉字由三个字节组成,详情可查阅utf8字符集)char * p = "张三";输出多个中文:printf("%s\n", p ); //按字符串输出完整的数据输出一个中文:printf("%c%c", *p, *p+1 );...

weixin_39631017的博客 1万+

常见消息队列:ActiveMQ、RabbitMQ、RocketMQ、Kafka的区别总结

常见消息队列:ActiveMQ、RabbitMQ、RocketMQ、Kafka的区别。

qq_30713721的博客 3471

STM32CubeIDE串口printf函数输出中文乱码(配置教程+解决方法)

本文主要讲述在使用CubeIDE配置串口通信的过程中,如何重定向printf()函数,以及如何解决在串口打印中文时输出乱码的情况。

m0_74141752的博客 1万+

扩散模型与强化学习(13):In-Context Reward Hacking现象与解决方案

奖励作弊(Reward Hacking)指智能体通过钻规则漏洞而非真正完成任务来最大化奖励信号。以论文编辑实验为例,研究提出“上下文奖励作弊”(ICRH)概念,即模型利用共享上下文钻空子,如盲目添加“正确!”或输出无关内容。实验发现,模型规模扩大可能加剧ICRH,且提示词优化难以根治。与传统奖励作弊不同,ICRH发生在部署阶段,由通用性驱动。应对建议包括多轮测试、多样化反馈及异常场景模拟,但尚无完美解决方案。

沉迷单车的追风少年 1319

GEE高阶应用——如何绘制2000-2022年土地利用变化轨迹时序图

土地利用变化是指在一定时间范围内,土地利用类型和结构发生的变化。时序变化是指这种变化随时间的推移而发生的序列变化。土地利用变化轨迹的时序变化具体介绍如下:首先,土地利用变化轨迹的时序变化体现在土地利用类型的演变上。在过去的几十年里,随着人口的增加、经济的发展和城市化的推进,土地利用类型发生了显著的变化。传统的农田逐渐减少,而城市、工业、交通、居住等用地的面积不断扩大。同时,随着环境保护意识的提高,生态保护用地、森林、湿地等绿色用地的面积也在增加。

此星光明博客 1113

2、c语言,关于printf的用法

关于c语言中printf的用法

x09527的博客 1980

踩坑实录:C#上位机YOLOv11从2FPS到45FPS,ONNX Runtime GPU加速全解析

算力迁移:将推理核心从CPU迁移至GPU(核心提速手段);内存复用:避免重复分配/释放内存,减少GC压力;维度固定:工业场景固定输入分辨率,关闭动态维度;资源限制:合理限制GPU/CPU/内存占用,避免资源耗尽;解耦设计:推理线程与UI线程解耦,避免跨线程问题。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 572

Java字符编码实战:Unicode与UTF-8转换原理、避坑与性能优化

字符编码是计算机处理文本数据的基石,它定义了字符与二进制字节序列之间的映射规则。Unicode作为全球统一的字符集标准,为每个字符分配了唯一的码点(Code Point),解决了跨语言、跨平台字符表示的一致性问题。而UTF-8则是Unicode的一种高效、变长的编码方案,因其兼容ASCII、无字节序问题,已成为Web、文件存储和数据交换的事实标准。在Java开发中,字符串在内存中以UTF-16编码的Unicode序列形式存储,与外部系统(如网络、文件、数据库)交互时,必须进行Unicode与UTF-8等字节

weixin_33720956的博客 275

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

C语言之printf输出中文乱码

C语言之printf输出中文乱码不同编辑器问题解决方案Clion编辑器 不同编辑器问题解决方案 根据不同的编辑器的表现进行针对性的处理。 Clion编辑器 按照以下步骤操作编辑器设置即可: File->Setting ,打开设置中心; 在Editor->FileEncodings 中将数据编码格式设置为UTF-8之后Apply设置; 关闭界面后在主界面进行Convert设置; 若有弹窗则在弹窗中选择 Convert 并应用; 再次执行相应代码,则printf输出的中文不

明日架构博客 2万+

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

在 C 语言中添加注释、包含头文件和使用 printf 函数输出字符串的方法

注释是程序员在编写代码时添加给自己或其他人的说明文字,用来提高代码的可读性,方便理解。注释通常会添加在代码的关键部分以及不易理解的地方。在C语言中,注释可以使用两种方式:单行注释以及多行注释。单行注释使用"//",多行注释使用"/* */"。多行注释不可嵌套,否则会报错。在C语言中,包含头文件可以使用"include"关键字。头文件中包含了库函数的声明,是程序与操作系统交互的接口。例如,我们需要使用标准输入输出函数,就需要包含头文件 “stdio.h”。在C语言中,输出函数可以使用"printf"。

weixin_47712251的博客 3702

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

关于Windows命令行下C语言printf输出中文乱码问题

C语言printf输出中文,命令号显示乱码问题

goldenlava的博客 7979

中文字符编码之GBK,UTF-16和UTF-8

编程中经常会遇到这三种字符编码形式的相互转换问题,以至于许多第三方的库不明原因的调用失败,其实很多都是由于第三方库支持的是utf-8而不是windows默认支持的utf-16导致的。 下面介绍一下windows系统下常见的这三种字符编码方式。 GB2312 是我们国家自己国标的汉字编码字符集,该字符集以一个16位的2进制数据单元表示一个汉字,所以能够将两个char型数据单元保存一个汉字。

bestwolf1983的专栏 1万+

解决Qt中文乱码以及汉字编码的问题(UTF-8/GBK)

转载: https://blog.youkuaiyun.com/libaineu2004/article/details/19245205   一、Qt环境设置 文件从window上传到Ubuntu后会显示乱码,原因是因为ubuntu环境设置默认是utf-8,Windows默认都是GBK. Windows环境下,Qt Creator,菜单->工具->选项->文本编辑器->行为-&...

zhenguo26的博客 1882

c语言基础 printf函数和格式控制

ASCII:编码一个字节 UNICODE:两个或四个字节 utf-8(一个字节 变长度的 可以为1 2 4个字节 可以减少传输量,多用于web 网络) utf-16(一个字符占两个字节 Windows驱动内核的编码规则) utf-32(linux、苹果平台 一个字符占四个字节) 多字节字符串(multibyte) 例: “hello!中国” 单字节字符定义:char c //有符号或者无符号由编译器决定 vc中有符号 宽字节字符定义:wchar_t wc ’0’ 0 ‘\0’ NULL的区别: 字符型(

m0_46377671的博客 1138

字符编码--UTF-16

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34280237的博客 1121

字符串编码(utf8)

文章 Things about Unicode everyone needs to know golang: Strings, bytes, runes and characters in Go 编码发展的历史 早期自由定义的编码集 ASCII码的起源:1.英文字符可用127以内的数字映射,需要7位;2.最初的计算机都是8位的 在ASCII码中,0~32范围的字符称为控制字符,是不可打印的。 接着,不同的制造商就对128~255编码进行自定义。IBM-PC定义了OEM字符集,提供对某些欧洲语言的字符进行表

xhdxhdxhd的博客 2864

STM32CubeIDE用printf打印中文

首先在 usart.c 文件里加上重定义部分代码,我用的是串口3所以为huart3 /* USER CODE BEGIN 0 */ #include “stdio.h” #ifdef GNUC #define PUTCHAR_PROTOTYPE int __io_putchar(int ch) #else #define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f) #endif PUTCHAR_PROTOTYPE { HAL_UART_Transmit(&amp

qq_41451457的博客 3215

使用stdio.h和stdlib.h实现UTF-8转UTF-16的示例代码。代码中包含了对输入合法性的检测,并在出现错误时输出错误信息

该示例代码中的utf8数组包含了UTF-8编码的字符串"汉字测试",其转换结果将存储在utf16数组中,同时输出UTF-16编码。如果出现非法UTF-8编码或内存分配失败等错误情况,将会输出错误信息。

2301_79026141的博客 185

STM32:串口通信——printf打印中文乱码问题解决

问题 在进行串口通信实验时,使用printf()打印中文,串口调试助手会出现乱码的现象。 打印代码如下: printf("请输入数据,以回车键结束"); 串口调试助手显示如下: 解决 在工程文件中找到写有以下代码的文件,我这里是main.c文件。printf("请输入数据,以回车键结束"); 使用记事本的打开方式打开文件。 点击文件,选择另存为。 4.选择ANSI编码(原来默认的是UTF-8)。 点击保存,选择替换原来文件。 重新编译工程,下载到电路板上,再打开串口调试助手,发现问题已解.

MQ0522的博客 1万+

游戏筑基开发之C语言打印(printf)中文时出现乱码的解决方案

游戏筑基开发之C语言打印(printf)中文时出现乱码的解决方案 情况如下: 解决方案(原因) 原因是该文件编码使用了utf-8的编码。而C语言编译器使用的是gbk的编码格式,所以打印时出现乱码。 解决方案: 使用记事本打开该文件,另存为==>将编码格式从utf-8变为ANSI即可。 点击确定覆盖即可解决问题。 ...

田螺姑娘的博客 5700
上一篇: MFC的MDI程序创建客户区不下陷View
二进制脑袋
博客等级 码龄25年 25粉丝 21原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值