本文目錄一覽:
C語言如何讀取TXT中的中文字元串
#include stdio.h
int main(void)
{
FILE *p;
char ch;
p = fopen(“a.txt”, “r”);
while(!feof(p))
{
if(fgetc(p) == ”)
{
while((ch = fgetc(p)) != ”)
{
putchar(ch);
}
printf(“\n”);
}
}
fclose(p);
return 0;
}
//昨天我說了沒編譯估計會出錯,這次沒事了運行通過
//還有隻能讀英文,喬丹不行,這是因為c編譯器不支持unicode編碼,char類型的是只能表示128個字元,Unicode 是兩個位元組,可以表示漢字。
c語言 如何讀取中文字元串
可以使用輸入輸出重定向來將TXT文本中的字元內容導入程序中,或者使用標準C庫函數:fopen()和fgetc();
先使用fopen()函數打開TXT文本文件,然後使用fgetc讀取文本文件中的字元。讀取全部文本中全部字元可以使用一個while循環加判斷是否讀取到文件結尾來實現:
char ch;
while((ch= fgetc(fp)) != EOF)
這樣當讀取到文件結尾時,while循環就會終止。
C語文編寫編譯如下:
#include stdio.h
#include stdlib.h
#include string.h
#define MAXLINE 100000
#define BUFLEN 1024
int main()
{
FILE *file;
char buf[BUFLEN];
int len=0,i=0;
char *array[MAXLINE];
file=fopen(“test.txt”,”r”);//打開TXST.TxT文件
if(!file)return -1;
while(fgets(buf,BUFLEN,file))//讀取TXT中字元
{
len=strlen(buf);
array[i]=(char*)malloc(len+1);
if(!array[i])break;
strcpy(array[i++],buf);
}
fclose(file);
i–;
while(i=0array[i])
{
printf(“%s\n”,array[i]);//列印test文檔的字元
free(array[i–]);
}
}
C語言怎麼從字元串中取出中文字元?
這個需要具體看編譯器中漢字的編碼情況,漢字編碼是2至4個位元組,我是手機編譯器,漢字編碼是3個位元組,參考代碼如下:
#includestdio.h
char *str = “你好123哈哈456”;
int main()
{
int i;
for(i=0;str[i]!=0;++i)
if(str[i]127){
printf(“%c%c%c\n”,str[i],str[i+1],str[i+2]);
i+=3-1;
}
else printf(“%c\n”,str[i]);
return 0;
}
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/276130.html