當前位置:首頁 » 編程語言 » c語言漢字處理
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言漢字處理

發布時間: 2022-11-13 19:30:53

c語言中怎麼處理漢字或者說漢字的編碼規則

這個根據編譯器的不同而不同,你選擇vc等編譯器漢字完全可以在字元串中處理的。

⑵ C語言中如何讀取文件中的漢字並將其存入數組中

  1. 建立一個足夠大的字元型數組;

  2. 以文本方式讀打開原文件;

  3. 按字元方式讀取文件,每讀一個字元判斷一下是否為漢字編碼(<0),若是則存入字元數組,不是則跳過讀取下一個字元,直到文件結束。

設原文件在當前目錄下,名為123.txt,舉例代碼如下:

//#include"stdafx.h"//Ifthevc++6.0,withthisline.
#include"stdio.h"
#include"stdlib.h"
intmain(void){
chars[1000],ch;
FILE*fp;
inti=0;
if((fp=fopen("123.txt","r"))==NULL){
printf("Openthefilefailure... ");
exit(0);
}
while((ch=fgetc(fp))!=EOF)
if(ch<0)
s[i++]=ch;
fclose(fp);
s[i]='';
printf("%s ",s);//打出來看看
return0;
}

註:原文件內容是「fjkslauti我rophk134是2315學jkal 習C語言jks新da;jus手jfkdsla」

輸出是「我是學習語言新手」

⑶ C語言中怎麼處理漢字

漢字作為一種字元處理,但是與普通的字元不同,一個漢字被存儲在兩個或以上的連續的位元組當中,一般在程序中使用字元數組或者作為字元串處理

⑷ 如何用c語言編輯文字

是因為你的目的串中有個空格,用scanf輸入的時候會把空格前的當成輸入了這個問題吧??
我寫了個代碼可以處理你上面說的這個問題,如果相同列印7,不同列印0,你要是需封成函數可以在我的基礎上修改.代碼在vc++6上編譯運行.代碼如下:

#include <stdio.h>
#include <string.h>
#include <conio.h>
#define DEBUG 1
int main()
{
char src[512] = "";
char *dst = "asdf kjhf";
int fg = 0;//腳標
char ch;
printf("請輸入字元串,回車結束輸入:\n");
#ifdef DEBUG
//此方法可以不用回車當結束符亦可
while (ch = getch()) {
printf("%c",ch);//回顯輸入
if (ch == 13) {
putchar(10);//換行符
break;
} else {
src[fg++] = ch;
if (fg == 511) {
break;//再大就越界了
}
}
}
#else
//此方法結束符必須為回車用此方法時將#define DEBUG 1注釋即可
gets(src);
#endif
// printf("src:%s\ndst:%s\n",src,dst);
if (strcmp(src, dst) == 0) {
printf("7\n");
} else {
printf("0\n");
}
return 0;
}

⑸ c語言如何進行一個一個漢字的處理

大小是人定義出來的,只要不相同的東西都可以比較大小(勿拍磚)
1<3...............對
A<B..............對嗎?.........對,A=65, B=66(ASCII)
大<小...........可以嗎?........可以比較,也對哦
張三>李四........先比較 張>李 ,若相同,就比較後面的
如何比較它們的大小:
strcmp( a, b);
比較出來的結果可能是 : -1 ,0 , 1 ( < ,=, >)

⑹ 請問在C語言中如何輸出漢字

1、引入標准輸入輸出庫:sdtio.h。

2、定義字元串形式的漢字(採用字元數組存儲)。

3、使用printf函數,或者puts函數輸出字元串形式的漢字。

例如:

#include<stdio.h>
intmain()
{
charstr[]="輸出漢字";
printf("%s ",str);
puts(str);
return0;
}
/*
運行結果:
輸出漢字
輸出漢字
*/

⑺ c語言怎樣才能輸出中文(最簡單的方法)

起初,C語言沒有官方標准。1978年由美國電話電報公司(AT&T)貝爾實驗室正式發表了C語言。布萊恩·柯林漢(Brian Kernighan) 和 丹尼斯·里奇(Dennis Ritchie) 出版了一本書,名叫《The C Programming Language》。

這本書被 C語言開發者們稱為K&R,很多年來被當作 C語言的非正式的標准說明。人們稱這個版本的 C語言為K&R C。

K&R C主要介紹了以下特色:

結構體(struct)類型

長整數(long int)類型

無符號整數(unsigned int)類型

把運算符=+和=-改為+=和-=。因為=+和=-會使得編譯器不知道使用者要處理i = -10還是i =- 10,使得處理上產生混淆。

即使在後來ANSI C標准被提出的許多年後,K&R C仍然是許多編譯器的最 准要求,許多老舊的編譯器仍然運行K&R C的標准。

1970到80年代,C語言被廣泛應用,從大型主機到小型微機,也衍生了C語言的很多不同版本。

1983年,美國國家標准協會(ANSI)成立了一個委員會X3J11,來制定 C語言標准。

1989年,美國國家標准協會(ANSI)通過了C語言標准,被稱為ANSI X3.159-1989 "Programming Language C"。因為這個標準是1989年通過的,所以一般簡稱C89標准。有些人也簡稱ANSI C,因為這個標準是美國國家標准協會(ANSI)發布的。

1990年,國際標准化組織(ISO)和國際電工委員會(IEC)把C89標準定為C語言的國際標准,命名為ISO/IEC 9899:1990 - Programming languages -- C 。

因為此標準是在1990年發布的,所以有些人把簡稱作C90標准。不過大多數人依然稱之為C89標准,因為此標准與ANSI C89標准完全等同。

1994年,國際標准化組織(ISO)和國際電工委員會(IEC)發布了C89標准修訂版,名叫ISO/IEC 9899:1990/Cor 1:1994,有些人簡稱為C94標准。

1995年,國際標准化組織(ISO)和國際電工委員會(IEC)再次發布了C89標准修訂版,名叫ISO/IEC 9899:1990/Amd 1:1995 - C Integrity [7] ,有些人簡稱為C95標准。

⑻ 求助 :C語言 word中漢字處理問題

1、編號不是C負責的,漢字是GB2132(簡體的,這是俗稱的國標)或者Big5(港台地區使用的繁體,俗稱大五碼)
漢字使用的隸屬於擴展字元,首位為1(記得ASCII最大127嗎?就是這茬),就說明是擴展字元,佔2B,但是不是漢字,貌似得看取值范圍,同時還得看運行環境使用的擴展字元集。
漢字編碼,就是你說的編號,網路搜一下國標碼,4位十進制數值,對應每一個漢字的編碼。

2、估計不好辦,office套裝組件的數據,連金山研究了這么多年都不能做到完美讀出

⑼ C語言中漢字如何進行排序

C語言中,漢字是按照字元串來處理的,一個漢字佔用2個位元組,漢字的排序就是按照漢字的編碼進行排序(不是拼音),而是半個漢字的ASCII碼進行排序的。
所以在輸出漢字的時候,如果按照位元組輸出,而不按照字元串輸出的話,就會出現亂碼。
具體漢字的編碼,就不是那麼容易的了。編碼一般以0x開頭,表示是用一個十六進制數表示的。

⑽ 如何在在C語言裡面輸入漢字

定義一個字元串變數,這個變數的值中就可以輸入漢字了。

漢字是多位元組的,一個char放不下,可以使用字元數組,但需要給數組分配空間,或者使用string

例如:

#include<stdio.h>
intmain(void)
{
chara[7]="你好";
scanf("%*s",a);
printf("%s ",a);
return0;
}

(10)c語言漢字處理擴展閱讀:

其實從語言學的角度來說,英文是線性的一維語言,而中文是平面的二維語言。而程序恰恰是線性的一維的。也就是說,線性的英文正好能契合線性的程序。所以,中文並不適合現有的編程方式。

然而,未來的發展可能超出你的想像。未來可能會有多維度的量子計算,也許二維的中文反而會比一維的英文更適合。

程序員對比過中文編程和英文編程就會明白,中文編程反而會提高門檻。因為編程的核心根本就不是什麼語言,而是程序化思維方式。最簡單的並不是英文編程,而是數學符號編程,極度抽象,普通人很難理解,但代碼量特別少。