欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Dev C++中文亂碼的有效解決方案

 更新時(shí)間:2025年04月15日 10:25:16   作者:Aaaaaaaa.up!  
在DevC++中出現(xiàn)漢字亂碼的問(wèn)題通常是由于編碼設(shè)置不正確導(dǎo)致的,本文通過(guò)圖文結(jié)合的方式給大家介紹了解決方法,對(duì)大家的解決問(wèn)題有一定的幫助,需要的朋友可以參考下

很早就下載用了Dev c++ ,但現(xiàn)在隔了很長(zhǎng)時(shí)間沒(méi)去用過(guò)了再次打開(kāi)發(fā)現(xiàn)出現(xiàn)中文亂碼的現(xiàn)象!在網(wǎng)站上翻閱了許久!終于解決了問(wèn)題!困擾了許久!

b9cad95bc59e4dedbce6f4e952bb0234.jpg

這個(gè)中文亂碼看著是真煩得慌?。?!

tips:不要急不要急,事情慢慢都能解決掉滴!

還有不要保存在C盤哦!最好都保存在D盤內(nèi)!本博客示范的未命名1.c 保存于C盤桌面上是為了演示方便!

圖1 這是我們?cè)瓉?lái)出現(xiàn)中文亂碼的界面

685a3576c1af4600b1a82f9f3b8de7bb.jpg

編譯的時(shí)候會(huì)出現(xiàn)這個(gè)窗口  

c5eb615f3a7f4727976dd0f2b48d6661.jpg

圖一

bcef55a826094c95986a2c723ad40116.jpg

(再說(shuō)一遍!這個(gè)中文亂碼在之前沒(méi)解決掉問(wèn)題的時(shí)候一看到這個(gè)就很煩! )

圖二是編譯過(guò)后(中文亂碼版)

2c62315224834b6e94745958329d7380.jpg

圖二 

第一種方法(也是強(qiáng)推親測(cè)有效法)

第一步

請(qǐng)點(diǎn)擊左上角<控制臺(tái)界面>左上角

選中<默認(rèn)值D>

23a9a0bf676c47e88d9f07fa848416e9.jpg

圖三   操作第一步    

第二步

將下方“使用舊版本控制臺(tái)”勾上 并點(diǎn)擊確定

590eaa2541c1436f9865d37dba80fddf.jpg

圖四  控制臺(tái)點(diǎn)擊默認(rèn)值后的界面

b382ae434ff44bae9576bd883c87084e.jpg

圖五 勾上下方按鈕后 

0db3a3de37cf44349b12aca52a485600.jpg

圖6 點(diǎn)完確定之后再次這個(gè)操作出現(xiàn)這樣子就代表操作對(duì)了!

第三步

將此.c文件另存為,并選擇 ANSI ?。?!

3b9bd6ddc3244a4b9abc9d4cfb2097a9.jpg

936d19a1118a4e089c5f605dd7d2fc3d.jpg

圖7 選擇ANSI!

第四步

打開(kāi)記事本 查看右下角是否為ANSI!

464aac9366ca47c197b85bc97342d5af.jpg

圖8 被設(shè)置為ANSI的記事本

d49642558024404c92f734af48c78c40.jpg

圖9 未被設(shè)置 會(huì)出現(xiàn)中文亂碼的記事本(看右下角顯示得失UTF-8) 

第五步

點(diǎn)全部重新編譯 并運(yùn)行!就成功啦! 

065d2108fa4146cfae3b1e3e92562d9e.jpg

圖10 太幸福了!看見(jiàn)中文!

—>不要嫌麻煩!非常有效的一個(gè)解決中文亂碼的放大 

提供一個(gè)檢測(cè)是否成功修改好中文亂碼的代碼

(代碼不完整但保證正確能順利跑)

#include <stdio.h>
#include<string.h>
#include<malloc.h>
#include<stdlib.h>
#include<stdbool.h>
 
#define NO_LENGTH  20
#define NAME_LENGTH 11
 
/* 定義學(xué)生結(jié)構(gòu)體的數(shù)據(jù)結(jié)構(gòu) */
typedef struct Student{
    char studentNo[NO_LENGTH];
    char studentName[NAME_LENGTH];
}st;
 
/* 定義每條記錄或節(jié)點(diǎn)的數(shù)據(jù)結(jié)構(gòu) */
typedef struct node
{
    struct Student data; //數(shù)據(jù)域
    struct node *next; //指針域
}Node,*Link;  //Node為node類型的別名,Link為node類型的指針別名
//定義提示菜單
void myMenu(){
    printf(" * * * * * * * * * 菜     單 * * * * * * * * * *\n");
    printf("     1 增加學(xué)生記錄            2 刪除學(xué)生記錄                     \n");
    printf("     3 查找學(xué)生記錄            4 修改學(xué)生記錄                     \n");
    printf("     5 統(tǒng)計(jì)學(xué)生人數(shù)            6 顯示學(xué)生記錄                     \n");
    printf("     7 退出系統(tǒng)                                     \n");
    printf(" * * * * * * * * * * * * * * * * * * * * * * * *\n");
}
 
void inputStudent(Link l){
     printf("請(qǐng)輸入學(xué)生學(xué)號(hào):");
     scanf("%s",l->data.studentNo);
     printf("請(qǐng)輸入學(xué)生的姓名:");
     scanf("%s",l->data.studentName);
 
     //每個(gè)新創(chuàng)建的節(jié)點(diǎn)的next域都初始化為NULL
     l->next = NULL;
}
 
void inputStudentNo(char s[],char no[]){
    printf("請(qǐng)輸入要%s的學(xué)生學(xué)號(hào):",s);
    scanf("%s",no);
}
 
void displayNode(Link head){
   // 填寫代碼,根據(jù)傳入的鏈表head頭指針,掃描鏈表顯示所有節(jié)點(diǎn)的信息
}
 
/* 增加學(xué)生記錄 */
bool addNode(Link head){
     Link p,q;   //p,q兩個(gè)節(jié)點(diǎn)一前一后
     Link node;  //node指針指向新創(chuàng)建的節(jié)點(diǎn)
     node=(Link)malloc(sizeof(Node));
     inputStudent(node);
 
     q = head;
     p = head->next;  //q指向head后面的第一個(gè)有效節(jié)點(diǎn)
     if(head->next==NULL)
         //鏈表為空時(shí)
        head->next = node;
     else {
         //循環(huán)訪問(wèn)鏈表中的所有節(jié)點(diǎn)
        while(p != NULL){
            if (node->data.studentNo < p->data.studentNo){
                //如果node節(jié)點(diǎn)的學(xué)號(hào)比p節(jié)點(diǎn)的學(xué)號(hào)小,則插在p的前面,完成插入后,提前退出子程序
                q->next = node;
                node->next = p;
                return true;
            }
            else{
                //如果node節(jié)點(diǎn)的學(xué)號(hào)比p節(jié)點(diǎn)的學(xué)號(hào)大,繼續(xù)向后移動(dòng)指針(依然保持pq一前一后)
                q = p;
                p = p->next;
 
            }
        }
        //如果沒(méi)能提前退出循環(huán),則說(shuō)明之前沒(méi)有插入,那么當(dāng)前node節(jié)點(diǎn)的學(xué)號(hào)是最大值,此時(shí)插在鏈表的最后面
        q->next = node;
 
    }
    return true;
}
 
bool deleteNode(Link head){
    // 按照給定的學(xué)號(hào)刪除學(xué)生記錄,如果刪除成功返回true,如果沒(méi)找到學(xué)號(hào)返回false
    
    //輸入要處理的學(xué)號(hào)
        char no[NO_LENGTH];
    inputStudent
 
No("查詢",no);
 
    return false;
}
 
bool modifyNode(Link head){
    // 按照給定的學(xué)號(hào)找到學(xué)生記錄節(jié)點(diǎn),如果修改成功返回true,如果沒(méi)找到學(xué)號(hào)返回false
    
    //輸入要處理的學(xué)號(hào)
    char no[NO_LENGTH];
    inputStudentNo("修改",no);
 
    return false;
    }
 
int countNode(Link head){
    //統(tǒng)計(jì)學(xué)生人數(shù),掃描鏈表統(tǒng)計(jì)節(jié)點(diǎn)個(gè)數(shù),返回節(jié)點(diǎn)數(shù)
    Link p;
    int count = 0;
    p = head->next;
 
    //填充代碼
    return false;
}
 
void clearLink(Link head){
    Link q,p;
        //遍歷鏈表,用free語(yǔ)句刪除鏈表中用malloc建立起的所有的節(jié)點(diǎn)
}
 
int main() {
    int select;
        int count;
    Link head;  // 定義鏈表
 
    //建立head頭結(jié)點(diǎn),在這個(gè)程序中head指向頭結(jié)點(diǎn),頭結(jié)點(diǎn)data部分沒(méi)有內(nèi)容,其后續(xù)節(jié)點(diǎn)才有真正的數(shù)據(jù)
    head = (Link)malloc(sizeof(Node));
    head->next = NULL;
 
    while(1)
    {
        myMenu();
        printf("\n請(qǐng)輸入你的選擇(0-7):");  //顯示提示信息
        scanf("%d",&select);
        switch(select)
        {
        case 1:
            //增加學(xué)生記錄
            if(addNode(head))
                printf("成功插入一個(gè)學(xué)生記錄。\n\n");
            break;
        case 2:
            //刪除學(xué)生記錄
            if(deleteNode(head))
                printf("成功刪除一個(gè)學(xué)生記錄。\n\n");
            else
                printf("沒(méi)有找到要?jiǎng)h除的學(xué)生節(jié)點(diǎn)。\n\n");
            break;
        case 3:
            //查詢學(xué)生記錄
            if(queryNode(head))
                printf("成功找到學(xué)生記錄。\n\n");
            else
                printf("沒(méi)有找到要查詢的學(xué)生節(jié)點(diǎn)。\n\n");
            break;
        case 4:
            //修改學(xué)生記錄
            if(modifyNode(head))
                printf("成功修改一個(gè)學(xué)生記錄。\n\n");
            else
                printf("沒(méi)有找到要修改的學(xué)生節(jié)點(diǎn)。\n\n");
            break;
        case 5:
            //統(tǒng)計(jì)學(xué)生人數(shù)
            count = countNode(head);
            printf("學(xué)生人數(shù)為:%d\n\n",count);
            break;
        case 6:
            //顯示學(xué)生記錄
            displayNode(head);
            break;
        case 7:
            //退出前清除鏈表中的所有結(jié)點(diǎn)
            clearLink(head);
            return 0;
        default:
            printf("輸入不正確,應(yīng)該輸入0-7之間的數(shù)。\n\n");
            break;
        }
    }
    return 0;
}

第二種方法  也是本社區(qū)最多人推薦的(但博主沒(méi)成功哈 ?。?/h2>

第一步

打開(kāi) <編譯選項(xiàng)>

529a123353094dfe986636b352657ea3.jpg

圖一 打開(kāi)編譯選項(xiàng)

752e66305b044607946eaff8be0d5d02.jpg

圖二 點(diǎn)開(kāi)后的界面

第二步

勾選“編譯時(shí)加入以下命令 并 輸入“-fexec-chartset=gbk”后點(diǎn)擊確定即可

430679c36e054d3c97fde6939ecf7d9e.jpg

(此方法不一定適用于所有人 因?yàn)槲揖褪悄莻€(gè)用這個(gè)方法沒(méi)解決掉的!)

第三種方法(取自其他博主的博客)

notepad++下載及安裝步驟

bb6bf77d43264cbbb3addbd183607ed8.jpg

這篇就這樣啦!

以上就是Dev C++中文亂碼的有效解決方案的詳細(xì)內(nèi)容,更多關(guān)于Dev C++中文亂碼的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 十進(jìn)制與BCD碼轉(zhuǎn)換的算法詳解

    十進(jìn)制與BCD碼轉(zhuǎn)換的算法詳解

    BCD轉(zhuǎn)換成十進(jìn)制 BCD碼是指用二進(jìn)制來(lái)表示十進(jìn)制數(shù)的編碼,即用4位二進(jìn)制來(lái)表示一位十進(jìn)制數(shù),因此4位二進(jìn)制數(shù)表示最大的十進(jìn)制數(shù)9(1001),只取十六個(gè)數(shù)中的十個(gè)數(shù)(有別于8421碼)
    2021-09-09
  • 詳解C/C++ Linux出錯(cuò)處理函數(shù)(strerror與perror)的使用

    詳解C/C++ Linux出錯(cuò)處理函數(shù)(strerror與perror)的使用

    我們知道,系統(tǒng)函數(shù)調(diào)用不能保證每次都成功,必須進(jìn)行出錯(cuò)處理,這樣一方面可以保證程序邏輯正常,另一方面可以迅速得到故障信息。本文主要為大家介紹兩個(gè)出錯(cuò)處理函數(shù)(strerror、perror)的使用,需要的可以參考一下
    2023-01-01
  • Visual Studio中scanf函數(shù)報(bào)錯(cuò)的幾種解決方法

    Visual Studio中scanf函數(shù)報(bào)錯(cuò)的幾種解決方法

    本文主要介紹了Visual Studio中scanf函數(shù)報(bào)錯(cuò)的幾種解決方法,文中通過(guò)圖文示例介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2025-03-03
  • C語(yǔ)言中new與malloc的區(qū)別詳解

    C語(yǔ)言中new與malloc的區(qū)別詳解

    這篇文章主要介紹了C語(yǔ)言中new與malloc的區(qū)別詳解,new是運(yùn)算符,可以用于動(dòng)態(tài)分配,如果想要撤銷內(nèi)存使用delete,new運(yùn)算符使用的一般格式為new類型,用new分配數(shù)組空間時(shí)不能指定初值,需要的朋友可以參考下
    2023-10-10
  • C語(yǔ)言在屏幕上輸出楊輝三角

    C語(yǔ)言在屏幕上輸出楊輝三角

    這篇文章主要介紹了在屏幕上輸出楊輝三角的方法,具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2015-10-10
  • 詳細(xì)分析Android中實(shí)現(xiàn)Zygote的源碼

    詳細(xì)分析Android中實(shí)現(xiàn)Zygote的源碼

    這篇文章主要介紹了詳細(xì)分析Android中實(shí)現(xiàn)Zygote的源碼,包括底層的C/C++代碼以及Java代碼部分入口,需要的朋友可以參考下
    2015-07-07
  • 一起來(lái)學(xué)習(xí)C++中類的this指針以使用

    一起來(lái)學(xué)習(xí)C++中類的this指針以使用

    這篇文章主要為大家詳細(xì)介紹了C++中類的this指針以使用,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助
    2022-03-03
  • 讓我們一起來(lái)對(duì)C語(yǔ)言指針再分析

    讓我們一起來(lái)對(duì)C語(yǔ)言指針再分析

    這篇文章主要為大家詳細(xì)介紹C語(yǔ)言的指針,本文進(jìn)行了深度解析,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助
    2022-01-01
  • C++程序檢測(cè)內(nèi)存泄漏的方法分享

    C++程序檢測(cè)內(nèi)存泄漏的方法分享

    這篇文章主要介紹了C++程序檢測(cè)內(nèi)存泄漏的方法分享,本文講解了、對(duì)象計(jì)數(shù)、重載new和delete、Hook Windows系統(tǒng)API、使用DiagLeak檢測(cè)等內(nèi)容,需要的朋友可以參考下
    2015-03-03
  • 基于MFC實(shí)現(xiàn)自定義復(fù)選框效果

    基于MFC實(shí)現(xiàn)自定義復(fù)選框效果

    復(fù)選框是一種可同時(shí)選中多項(xiàng)的基礎(chǔ)控件,主要是有兩種明顯的狀態(tài):選中與非選中。本文將通過(guò)MFC框架實(shí)現(xiàn)自定義復(fù)選框效果,感興趣的可以了解一下
    2022-02-02

最新評(píng)論