嘿嘿 解决了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

使用 Python + Bright Data MCP 实时抓取 Google 搜索结果:完整实战教程(含自动化与集成)

使用 Python + Bright Data MCP 实时抓取 Google 搜索结果:完整实战教程(含自动化与集成)

免责声明:此篇文章所有内容皆是本人实验,并非广告推广,并非抄袭。如果有人运用此技术犯罪,本人及平台不承担任何刑事责任。如有侵权,请联系。 引言:为什么 AI 应用需要实时网页数据? 在 AI 应用和智能代理(Agent)的开发中,实时性数据往往是决定效果的关键。以 LLM 智能体为例,它们的推理能力高度依赖实时上下文——比如用户问“2025 年最新 AI 趋势是什么”,静态的训练数据无法提供最新答案,必须接入实时网页数据才能给出准确回应。 但传统的网页数据获取方式存在明显痛点:自建爬虫不仅要处理复杂的反爬机制(如 IP 封禁、验证码),还要维护代理池和动态网页渲染逻辑,长期维护成本极高,且很难做到实时响应。 而 Bright Data 的 Web MCP Server(Model Context Protocol Server)正好可以解决这些问题:

By Ne0inhk
【动态规划篇】专题(六):子序列问题——不连续的艺术

【动态规划篇】专题(六):子序列问题——不连续的艺术

文章目录 * LIS 模型及其衍生:回头看,全是风景 * 一、 前言:从 O(N) 到 O(N²) * 二、 最长递增子序列 (Medium) * 2.1 题目描述 * 2.2 核心思路:LIS 模型 * 2.3 代码实现 * 三、 摆动序列 (Medium) * 3.1 题目描述 * 3.2 状态定义:波峰与波谷 * 3.3 代码实现 * 四、 最长递增子序列的个数 (Medium) * 4.1 题目描述 * 4.2 双重状态 * 4.

By Ne0inhk
设计五种算法精确的身份证号匹配

设计五种算法精确的身份证号匹配

问题定义与数据准备 我们有两个Excel文件: * small.xlsx: 包含约5,000条记录。 * large.xlsx: 包含约140,000条记录。 目标:快速、高效地从large.xlsx中找出所有其“身份证号”字段存在于small.xlsx“身份证号”字段中的记录,并将这些匹配的记录保存到一个新的Excel文件result.xlsx中。 假设:身份证号字段名在两个表中都是id_card。 首先,我们进行准备工作,安装必要的库并模拟一些数据用于测试和性能估算。 pip install pandas openpyxl import pandas as pd import time import random # 为演示和测试,我们可以创建一些模拟数据(实际中使用pd.read_excel读取你的文件)defgenerate_id_card():"""

By Ne0inhk

【Python高性能编程必修课】:绕开Threading陷阱的3种正确并发方案

第一章:Python多线程Threading无法加速计算型任务的原因 Python 的多线程模块 `threading` 在处理 I/O 密集型任务时表现良好,但在执行计算型任务时却无法实现真正的并行加速。其根本原因在于 Python 解释器中的全局解释器锁(Global Interpreter Lock,简称 GIL)。 GIL 的作用与限制 GIL 是 CPython 解释器的一项机制,它确保同一时刻只有一个线程执行 Python 字节码。虽然允许多个线程存在,但 GIL 强制它们串行执行,从而保护内存管理的完整性。对于涉及大量 I/O 操作的任务(如文件读写、网络请求),线程在等待期间会释放 GIL,因此多线程仍能提升效率。然而,在 CPU 密集型任务中,线程持续占用 CPU 并持有 GIL,导致其他线程无法并行运算。

By Ne0inhk