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

linuxc語言漢字

發布時間: 2023-01-11 21:06:10

1. LINUX中c語言怎麼把漢字存放到數組中

//代碼已測,我用的是一位數組,沒必要用二維數組
#include<stdio.h>
main()
{
charbuf[100]={0};
intlen;
FILE*f=NULL;
printf("readfromfile?y/n ");

if(getchar()=='y')
{
if((f=fopen("1.txt","rb"))==NULL)
{printf("openfilefailed.");return;}

len=fread(buf,1,sizeof(buf),f);

if(len){printf("%s ",buf);}

fclose(f);
}
else
{
printf("inputyourwords: ");
scanf("%s",buf);

if((f=fopen("1.txt","ab+"))==NULL)
{printf("openfilefailed.");return;}

//findwordlength
for(len=0;len<(sizeof(buf)-1);len++)
if(buf[len]==0&&buf[len+1]==0)
{break;}

len=fwrite(buf,1,len,f);
fclose(f);
}
}

2. Linux下 C程序怎麼直接printf輸出中文字

直接在你的代碼中寫上中文字 輸出即可。
不過 一般來說,gcc默認的字元編碼是utf-8
如果在純Linux下, 使用漢字不會有問題
如果交叉顯示, 目標平台編碼可能是其它編碼
這樣的話, 就需要在編譯選項中加入charset設置
比如常見的gb2312
編譯選項加一個-finput-charset=GB2312即可。
其它編碼類似。

3. 100財富給牛逼之人!就沒人知道在linux下用c語言如何將漢字的unicode編碼轉化為漢字嗎

試試這個四個函數,C 裡面的,Linux 可用:
mbtowc
wctomb
mbstowcs
wcstombs
在 Linux 下試試看吧:
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
int main(void)
{
size_t cch;
char psz[1024];
wchar_t pwsz[] = { 0x52B3, 0x788C, 0x788C, 0 };
setlocale(LC_ALL, "");
cch = wcstombs(psz, pwsz, 1024);
if (cch != 0 && cch != -1) {
printf("%s", psz);
}
return 0;
}
zdl_361 說的 "utf8 勞碌碌" 不對,因為我也輸出 "勞碌碌",而我是用 Unicode 編碼的。在 Windows 上,char 是 ANSI,Unicode (wchar_t) 是 UTF-16;在 Linux 上,char 是 UTF-8,Unicode (wchar_t) 是 UTF-32。不過對於這個函數來說,在哪個平台上都不會因為字元編碼而影響使用。

4. Linux下使用c語言發送漢字到文本框

主要看你使用什麼開發平台,如果是QT label->setText("「);如何過是MFC就是setwindowstext();
不懂多網路,

5. c語言 在linux平台下 漢字字元串如何按利用%ns制定長度輸出

int main()
{
char *s = "12345";
printf("%.1s ", s); // 輸出1
printf("%.3s ", s); // 輸出123

return 0;
}

關於精度的描述,官方原文引用如下:

Precision:

An optional period, `.', followed by an optional digit string

giving a precision which specifies the number of digits to appear

after the decimal point, for e and f formats, or the maximum num-

ber of characters to be printed from a string; if the digit

string is missing, the precision is treated as zero;


就是說,小數點後跟一個整數,用於字元串的時候,輸出指定長度的位元組數,為0或者為空時,輸出整個字元串

6. 請求在linux下C語言如何將漢字轉換成UTF

試試這個四個函數,C 裡面的,Linux 可用:
mbtowc
wctomb
mbstowcs
wcstombs
在 Linux 下試試看吧:
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
int main(void)
{
size_t cch;
char psz[1024];
wchar_t pwsz[] = { 0x52B3, 0x788C, 0x788C, 0 };
setlocale(LC_ALL, "");
cch = wcstombs(psz, pwsz, 1024);
if (cch != 0 && cch != -1) {
printf("%s", psz);
}
return 0;
}
zdl_361 說的 "utf8 勞碌碌" 不對,因為我也輸出 "勞碌碌",而我是用 Unicode 編碼的。在 Windows 上,char 是 ANSI,Unicode (wchar_t) 是 UTF-16;在 Linux 上,char 是 UTF-8,Unicode (wchar_t) 是 UTF-32。不過對於這個函數來說,在哪個平台上都不會因為字元編碼而影響使用。

7. Linux中c語言中漢字字元串的輸出

1、計算機用兩個位元組來表示一個漢字,「我」在內存里就是這樣存放的:CE
D2。CE是str[0]的內容,D2是str[1]的內容。第一次循環輸出str[0],但是這個字元在ASCII字元集里代表這樣一個東西(不知道在這兒能不能正常顯示),但是Windows的命令提示符程序讀取到這里就會自動使用寬字元集,也就是說,它已經准備好讀取下一個字元,然後把他們當成一個字元顯示出來。於是就出現了那個漢字。
2、常式:
#include <stdio.h>
int main()
{
printf("%c%c",(char)0xce,(char)0xd2);
}