首页 > 其他分享 >printf打印带中文的字符串不乱码的编译注意事项

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

时间:2024-11-01 16:57:32浏览次数:1  
标签:源文件 charset UTF ANSI printf 乱码 编译 注意事项 源程序

在Windows环境下编译:

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打印带中文的字符串,需要在源程序中wprintf之前添加setlocale(LC_ALL, "");

标签:源文件,charset,UTF,ANSI,printf,乱码,编译,注意事项,源程序
From: https://www.cnblogs.com/binaryhead/p/18520839

相关文章

  • Qt 乱码问题和编码
    下是dbzhang关于qt中文乱码问题原因的阐述,觉得不错: 首先呢,声明一下,QString是不存在中文支持问题的,很多人遇到问题,并不是本身QString的问题,而是没有将自己希望的字符串正确赋给QString。很简单的问题,"我是中文"这样写的时候,它是传统的char类型的窄字符串,我们需要的只不过是......
  • 程序文件、网页、数据库三者字符集编码不一致导致出现乱码问题
    问题原因程序文件、网页、数据库三者字符集编码不一致导致出现乱码问题。解决方案将程序文件、网页、数据库三者的字符集编码设为一致。推荐使用UTF-8编码,因为UTF-8可以支持全世界几乎所有国家的语言。具体步骤1.程序文件的字符集编码检查和设置文件编码:使用文本编辑器(......
  • 网站程序编码问题导致网页出现乱码怎么办
    遇到网站程序编码问题导致网页出现乱码的情况,可以按照以下步骤进行排查和解决:检查文件编码:确认所有HTML、CSS、JavaScript等文件的编码格式是否统一,通常推荐使用UTF-8编码。使用文本编辑器(如Notepad++)检查并转换文件编码。设置HTTP响应头:在服务器端设置正确的Content-......
  • printf(“%d %d %d %d\n“,--i,i--,++i,i++);
    #include<stdio.h>intmain(){ inti=0;printf("%d%d%d%d\n",--i,i--,++i,i++);}第一次接触到这个问题,相信大家跟我一样,信心满满,心里想着“这不就是考,先++就先+再调用,后++就先调用再+”,于是把这一题秒了。--i,先减再调用,答案-1,i变为-1i--,先调用再减,答案-1,i变......
  • Go 中修改切片副本的注意事项
    在Go编程中,切片是一种非常常用的数据结构。理解如何正确地修改切片中的元素非常重要,特别是当我们需要更改这些元素的值时。在这篇文章中,我们将探讨在切片中修改元素的不同方法,并讨论何时使用值切片和指针切片。1.使用值切片在Go中,使用值切片(例如[]wmsModel.OrderProduct)意......
  • 3.C语言中scanf 和printf的重点介绍(续10/25篇)
    文章目录一、printf1.1基本用法1.2占位符1.3占位符列举1.4输出格式1.4.1限定宽度1.4.2总显示正负号1.4.3限定小数位数1.4.4输出部分字符串二、scanf2.1基本用法2.2scanf的返回值2.3占位符2.4赋值忽略符总结一、printf1.1基本用法printf()的作用......
  • 温故知新,基于播客形式学习英语之EnglishPod 365, 英语口语发音注意事项
    英语国际音标学习英语国际音标(IPA,InternationalPhoneticAlphabet)是掌握标准发音的有效途径。以下是学习国际音标的关键方法和具体音标的说明:1.音标基础知识元音和辅音:音标分为元音(vowels)和辅音(consonants),元音是发音时没有任何阻碍的,而辅音则包含部分阻碍发音的动作。长......
  • springboot:调用接口返回的数据乱码解决
    从git拉下来项目后,运行服务,启动正常,但是使用swagger和postman调用服务接口出现乱码问题每一个接口返回的数据是乱码,但是控制台打印的日志都是正常的,后续发现数据的返回类型不是常见的application/json,而是application/x-jackson-smile,所以要通过改变数据类型解决问题通过在接......
  • 探讨 C# 中使用嵌套类型的注意事项
    概述在C#中,嵌套类型是定义在另一个类型内部的类型。嵌套类型允许开发人员在其它类型(如类、结构、接口、枚举或委托)中定义类型。此设计有助于我们组织相关类型、封装实现细节和提高代码可读性。但是,在实现时应遵循一些规则和避免常见陷阱。本文我们一起探讨在C#中使用嵌套类......
  • Pycharm专业版远程连接服务器训练模型以及注意事项
    本文主要讲解租用AutoDL远程服务器、Pycharm远程连接服务器、上传代码、模型训练以及注意事项。第一次租用后,会发现这个过程很简单,希望帮到你!多余的话没有,跟着步骤来就可以啦!(*^▽^*)导航    1.租用服务器    2.Pycharm远程连接    3.上传代码  ......