『壹』 c語言儲存、輸出漢字的問題
列個程序給你看看
#include"stdio.h"
void main()
{
char b[3]="你";//一個漢字佔2個位元組,這里第三個(b[2])是為了存放結束符('\0')的
char c[11]="早上好某某";//這里5個漢字,共10個位元組,還有一個放了結束符
printf("%c%c\n",b[0],b[1]);//輸出漢字把兩個字元一起輸出
int i;
for(i=0;i<=10;i++)//這樣也是
printf("%c",c[i]);
}
『貳』 char型變數中能不能存貯一個中文漢字為什麼
可以,不過,如果某個特殊的漢字沒有被包含在unicode編碼字元集中,那麼,這個char型變數中就不能存儲這個特殊漢字。
『叄』 C語言中的變數能存儲漢字嗎
用char sz[100]就可以。
在輸出的時候注意一些本地化的動作就不會出現亂碼了,
用setlocale( LC_ALL, "chs" );設置為簡體中文
setlocale( LC_ALL,"" ); 還原。
這樣就沒問題了。
否則就嘗試使用wchar_t這個寬字元串,應該是C99才引入的吧。
『肆』 C語言如何存儲漢字字元,比如我想存儲一個漢字字元串,應該怎麼辦。
不知道你是想用純C的來實現,還是可以借用windows的庫。
如果借用windows的庫就比較簡單了,直接用wchar處理unicode編碼就可以支持中文。
用純c自己進行處理,就採用DBCS編碼方式,支持雙位元組漢字處理。
『伍』 c語言中文字如何存儲
在c語言中,如果輸出中文字元,可以通過printf函數直接輸出。printf函數在內部提供這種機制,實現寬字元的轉換,因此都可以正常輸出,比如:
printf("中文測試\n");
另外也可以使用wprintf來輸出存儲在變數的中文字元,需要進行語言的區域設置。示例如下:示例如下,輸出寬字元「中」字。
#include
#include
int main()
{
setlocale(lc_all, "chs");
wchar_t wc = l'中';
wprintf(l"%c\n",wc);
return 0;
}
『陸』 在C語言中CHAR是什麼類型變數
char是字元變數的說明符
字元變數的取值是字元常量,即單個字元。字元變數的類型說明符是char。字元變數類型說明的格式和書寫規則都與整型變數相同。
例如:
char
a,b;
每個字元變數被分配一個位元組的內存空間,因此只能存放一個字元。字元值是以ascii碼的形式存放在變數的內存單元之中的。如x的
十進制ascii碼是120,y的十進制ascii碼是121。對字元變數a,b賦予'x'和'y'值:
a='x';b='y';實際上是在a,b兩個單元內存放120和121的二進制代碼:
a
0
1
1
1
1
0
0
0
b
0
1
1
1
1
0
0
1
所以也可以把它們看成是整型量。
c語言允許對整型變數賦以字元值,也允許對字元變數賦以整型值。在輸出時,
允許把字元變數按整型量輸出,也允許把整型量按字元量輸出。
整型量為二位元組量,字元量為單位元組量,當整型量按字元型量處理時,
只有低八位位元組參與處理。
main()
{
char
a,b;
a=120;
b=121;
printf("%c,%c\n%d,%d\n",a,b,a,b);
}
a
■
b
■
a
<--
120
b
<---
121
顯示程序結果
本程序中說明a,b為字元型,但在賦值語句中賦以整型值。從結果看,a,b值的輸出形式取決於printf函數格式串中的格式符,當格式符為"c"時,對應輸出的變數值為字元,當格式符為"d"時,對應輸出的變數值為整數。
void
main()
{
char
a,b;
a='x';
b='y';
a=a-32;
b=b-32;
printf("%c,%c\n%d,%d\n",a,b,a,b);
}