C语言如何读取TXT中的中文字符串

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 是两个字节,可以表示汉字。

追问

那如果是要读取

经理

结果:

经理

应该怎么程序应该怎么改呀

参考技术A #include<stdio.h>
#include<conio.h>
int main()

int i;
char c[100];
FILE *p1=fopen("x.txt","r");
if(!p1)
printf("打开失败\n");
for(i=0;i<100;i++)

fscanf(p1,"%c",&c[i]);
printf("%c",c[i]);

putchar('\n');
fclose(p1);
p1=0;
return 0;

//望采纳本回答被提问者采纳
参考技术B #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语言求助:如何将.txt文件中的字符串存入字符数组?这个 .txt 文件是从命令行参数 btw 中读取的。

C语言如何读取TXT全部字符?

C语言怎样读取TXT文档中两行字符之间的数据,如begin和end之间的3行数据

C语言 读取中文

用c语言怎么读取txt文件中的行数

c语言中从文件中按行读取字符串,并进行相应操作。