嘿嘿 解决了Dev C++ 中文乱码(有效版)

嘿嘿 解决了Dev C++ 中文乱码(有效版)

这是博主第一篇博客!记录一下博主的小小小小解决史!

很早就下载用了Dev c++ ,但现在隔了很长时间没去用过了再次打开发现出现中文乱码的现象!在网站上翻阅了许久!终于解决了问题!困扰了许久!


———————————————————————

b9cad95bc59e4dedbce6f4e952bb0234.png

这个中文乱码看着是真烦得慌!!!
tips:不要急不要急,事情慢慢都能解决掉滴!

还有不要保存在C盘哦!最好都保存在D盘内!本博客示范的未命名1.c 保存于C盘桌面上是为了演示方便!

——————————————————————————— 

图1 这是我们原来出现中文乱码的界面

685a3576c1af4600b1a82f9f3b8de7bb.png

编译的时候会出现这个窗口  

c5eb615f3a7f4727976dd0f2b48d6661.png

图一

bcef55a826094c95986a2c723ad40116.png

(再说一遍!这个中文乱码在之前没解决掉问题的时候一看到这个就很烦! )

图二是编译过后(中文乱码版)

2c62315224834b6e94745958329d7380.png

图二 

        —————————————————————————

第一种方法(也是博主强推亲测有效法)

·第一步

        请点击左上角<控制台界面>左上角

               选中<默认值D>

23a9a0bf676c47e88d9f07fa848416e9.png

图三   操作第一步    

·第二步

         将下方“使用旧版本控制台”勾上 并点击确定

590eaa2541c1436f9865d37dba80fddf.png

                     图四  控制台点击默认值后的界面

b382ae434ff44bae9576bd883c87084e.png

                         图五 勾上下方按钮后 

0db3a3de37cf44349b12aca52a485600.png

 图6 点完确定之后再次这个操作出现这样子就代表操作对了!

·第三步

        将此.c文件另存为,并选择 ANSI !!!

3b9bd6ddc3244a4b9abc9d4cfb2097a9.png
936d19a1118a4e089c5f605dd7d2fc3d.png

 图7 选择ANSI!

·第四步

打开记事本 查看右下角是否为ANSI!

464aac9366ca47c197b85bc97342d5af.png

图8 被设置为ANSI的记事本

d49642558024404c92f734af48c78c40.png

图9 未被设置 会出现中文乱码的记事本(看右下角显示得失UTF-8) 

·第五步

点全部重新编译 并运行!就成功啦! 

065d2108fa4146cfae3b1e3e92562d9e.png

图10 太幸福了!看见中文!


—>不要嫌麻烦!非常有效的一个解决中文乱码的放大 

^_^ 提供一个检测是否成功修改好中文乱码的代码

(出自懒猫老师数据结构课一实验 ,代码不完整但保证正确能顺利跑)

#include <stdio.h> #include<string.h> #include<malloc.h> #include<stdlib.h> #include<stdbool.h> #define NO_LENGTH  20 #define NAME_LENGTH 11 /* 定义学生结构体的数据结构 */ typedef struct Student{     char studentNo[NO_LENGTH];     char studentName[NAME_LENGTH]; }st; /* 定义每条记录或节点的数据结构 */ typedef struct node {     struct Student data; //数据域     struct node *next; //指针域 }Node,*Link;  //Node为node类型的别名,Link为node类型的指针别名 //定义提示菜单 void myMenu(){     printf(" * * * * * * * * * 菜     单 * * * * * * * * * *\n");     printf("     1 增加学生记录            2 删除学生记录                     \n");     printf("     3 查找学生记录            4 修改学生记录                     \n");     printf("     5 统计学生人数            6 显示学生记录                     \n");     printf("     7 退出系统                                     \n");     printf(" * * * * * * * * * * * * * * * * * * * * * * * *\n"); } void inputStudent(Link l){      printf("请输入学生学号:");      scanf("%s",l->data.studentNo);      printf("请输入学生的姓名:");      scanf("%s",l->data.studentName);      //每个新创建的节点的next域都初始化为NULL      l->next = NULL; } void inputStudentNo(char s[],char no[]){     printf("请输入要%s的学生学号:",s);     scanf("%s",no); } void displayNode(Link head){    // 填写代码,根据传入的链表head头指针,扫描链表显示所有节点的信息 } /* 增加学生记录 */ bool addNode(Link head){      Link p,q;   //p,q两个节点一前一后      Link node;  //node指针指向新创建的节点      node=(Link)malloc(sizeof(Node));      inputStudent(node);      q = head;      p = head->next;  //q指向head后面的第一个有效节点      if(head->next==NULL)          //链表为空时         head->next = node;      else {          //循环访问链表中的所有节点         while(p != NULL){             if (node->data.studentNo < p->data.studentNo){                 //如果node节点的学号比p节点的学号小,则插在p的前面,完成插入后,提前退出子程序                 q->next = node;                 node->next = p;                 return true;             }             else{                 //如果node节点的学号比p节点的学号大,继续向后移动指针(依然保持pq一前一后)                 q = p;                 p = p->next;             }         }         //如果没能提前退出循环,则说明之前没有插入,那么当前node节点的学号是最大值,此时插在链表的最后面         q->next = node;     }     return true; } bool deleteNode(Link head){     // 按照给定的学号删除学生记录,如果删除成功返回true,如果没找到学号返回false          //输入要处理的学号         char no[NO_LENGTH];     inputStudent No("查询",no);     return false; } bool modifyNode(Link head){     // 按照给定的学号找到学生记录节点,如果修改成功返回true,如果没找到学号返回false          //输入要处理的学号     char no[NO_LENGTH];     inputStudentNo("修改",no);     return false;     } int countNode(Link head){     //统计学生人数,扫描链表统计节点个数,返回节点数     Link p;     int count = 0;     p = head->next;     //填充代码     return false; } void clearLink(Link head){     Link q,p;         //遍历链表,用free语句删除链表中用malloc建立起的所有的节点 } int main() {     int select;         int count;     Link head;  // 定义链表     //建立head头结点,在这个程序中head指向头结点,头结点data部分没有内容,其后续节点才有真正的数据     head = (Link)malloc(sizeof(Node));     head->next = NULL;     while(1)     {         myMenu();         printf("\n请输入你的选择(0-7):");  //显示提示信息         scanf("%d",&select);         switch(select)         {         case 1:             //增加学生记录             if(addNode(head))                 printf("成功插入一个学生记录。\n\n");             break;         case 2:             //删除学生记录             if(deleteNode(head))                 printf("成功删除一个学生记录。\n\n");             else                 printf("没有找到要删除的学生节点。\n\n");             break;         case 3:             //查询学生记录             if(queryNode(head))                 printf("成功找到学生记录。\n\n");             else                 printf("没有找到要查询的学生节点。\n\n");             break;         case 4:             //修改学生记录             if(modifyNode(head))                 printf("成功修改一个学生记录。\n\n");             else                 printf("没有找到要修改的学生节点。\n\n");             break;         case 5:             //统计学生人数             count = countNode(head);             printf("学生人数为:%d\n\n",count);             break;         case 6:             //显示学生记录             displayNode(head);             break;         case 7:             //退出前清除链表中的所有结点             clearLink(head);             return 0;         default:             printf("输入不正确,应该输入0-7之间的数。\n\n");             break;         }     }     return 0; }


第二种方法  也是本社区最多人推荐的(但博主没成功哈 !)

第一步

        打开 <编译选项>

529a123353094dfe986636b352657ea3.png

 图一 打开编译选项

第二步

752e66305b044607946eaff8be0d5d02.png

图二 点开后的界面

         勾选“编译时加入以下命令 并 输入“-fexec-chartset=gbk”后点击确定即可

430679c36e054d3c97fde6939ecf7d9e.png

 (此方法不一定适用于所有人 因为我就是那个用这个方法没解决掉的!)



第三种方法  取自ZEEKLOG社区其他博主的博客

notepad++下载及安装步骤 

你似乎来到了没有知识存在的荒原 - 知乎

bb6bf77d43264cbbb3addbd183607ed8.png

 



这篇就这样啦!

如果有其他方法可分享在评论区帮助更多的小白结合问题!

如 你有更完善的解决方法也可以发在评论区!

 “学习经验值+𝟭”!

一起加油吧各位 !

Read more

分布式版本控制系统Git的安装和使用

分布式版本控制系统Git的安装和使用

🌈个人主页: Hygge_Code🔥热门专栏:从0开始学习Java | Linux学习| 计算机网络💫个人格言: “既然选择了远方,便不顾风雨兼程” 文章目录 * 一、关于版本控制 * 1. 什么是“版本控制”? * 2. 版本控制系统(VCS)带来的好处🐦‍🔥 * 3. 版本控制系统分类 * 二、Git核心 * 1. 三大文件状态 * 2. 四步完成一次代码提交 * 三、Git实战:从环境配置到命令详解 * 1. 环境配置 * Git的安装操作 * 2. 本地操作命令 * 3. 远程操作命令 * 四、Git分支与标签 * 1. 分支:隔离开发 * 2. 标签:标记重要版本 * 五、版本库目录与编码规范 * 1. 版本库目录规范

By Ne0inhk
Git-TortoiseGit 小乌龟详细安装使用教程

Git-TortoiseGit 小乌龟详细安装使用教程

0、简介 Git是一款由Linus Torvalds于2005年创建的‌免费、开源、分布式版本控制系统‌,它通过为项目创建一系列‌数据快照‌而非记录文件差异来高效管理代码历史,支持本地独立操作与团队协作,已成为现代软件开发的基石。‌ TortoiseGit 是基于 Git 的 Windows Shell 界面工具,它依赖于已配置的 Git 环境才能运行。因此,在安装 TortoiseGit 之前,需要先安装 Git 工具。 一、下载安装git 1.1进入官网Git - Windows 安装 (git-scm.com) 右边有个下载链接,点击它 以 Windows 64 位系统为例,进行安装使用说明。 1.2 安装 Git 客户端

By Ne0inhk
爆肝 5 万字!Git 从零基础到大神,这篇直接封神

爆肝 5 万字!Git 从零基础到大神,这篇直接封神

目录 * 一、安装Git(ubuntu) * 二、Git的基本操作 * 创建Git本地仓库 * 配置本地仓库 * 认识⼯作区、暂存区、版本库 * 添加⽂件 * 修改⽂件 * 版本回退 * 撤销修改 * 删除⽂件 * 三、分⽀管理 * 创建分⽀ * 切换分⽀ * 合并分⽀ * 删除合并分⽀ * 合并冲突 * 分⽀管理策略 * 合并模式 * 分⽀策略 * bug分⽀ * 强制删除临时分⽀ * 四、远程仓库 * 新建远程仓库(以gitee) * Issues * Pull Request * 克隆远程仓库 * 向远程仓库推送 * 拉取远程仓库 * 配置Git * 忽略特殊⽂件 * 给命令配置别名 * 五、

By Ne0inhk

免费获得大模型的Api-Key的方法:英伟达提供GLM-4.7、Minimax M2.1模型和GitHub的AI大模型API申请

免费获得大模型的Api-Key的方法:英伟达提供GLM-4.7、Minimax M2.1模型和GitHub的AI大模型API申请 最近一直在玩OpenClaw,无奈OpenClaw是个消耗token的高手!随随便便问了几个问题就能吃掉百万的token数,妥妥的吞金兽,如果有免费的token就好了! 今天就给大家介绍英伟达和Github的免费大模型API Key的获取方法。 传送门: * • OpenRouter提供的DeepSeek-R1-70B的大模型免费用 * • 获取各大人工智能AI工具通过API和KEY调用的方法 英伟达-Nvidia的免费API Key 说到英伟达,大家的第一反应可能是"卖显卡的大佬"。但很少有人意识到,拥有强大算力的英伟达,也在积极布局AI云服务市场。这波免费开放API的策略,本质上是一个聪明的生态布局——通过免费服务吸引开发者,为未来的商业变现铺路。   注册账号 1.打开英伟达官网 https://build.nvidia.com 点击“Login”   2.输入邮箱 输入邮箱、密码   3.验

By Ne0inhk