C语言如何从txt文件中读入汉字并将其存在字符串数组中?...

如题所述

程序代码:

#include <stdio.h>

#include <stdlib.h>

#define MAXSIZE 1024

int main(int argc, char * argv[])

{

FILE *fp;

char buf[MAXSIZE];

fp = fopen("./hanzi.txt","r");

if(fp == NULL)

{

perror("call to fopen!");

exit(1);

}

fread(buf,1,MAXSIZE,fp);

printf("%s\n",buf);

return 0;

附 hanzi.txt文件内容:

你好,很高兴认识你!希望你的人生的每一天都会像今夜的星辰一样,灿烂无比!

运行结果截图:

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2016-04-17
汉字比较复杂,在ANSI标准里面是两个字节连着表示一个汉字.对于每一个字节,二进制都是以1开头,即大于127的字符.
也即,你每次读入两个字符即可.输出%c%c即可拼接出原来的汉字.
第2个回答  2012-04-06
#include<stdio.h>
void main()
{
FILE *fp;//定义FILE结构指针变量
char ch;
if((fp=fopen("datafile.txt","r"))==NULL)//打开并测试文件
{
printf("file cannot be open\n");
exit(1);//若打不开,退出
}
while((ch=fgetc(fp))!=EOF)//读文件并测试是否文件尾
fputc(ch,stdout);//输出到显示器
fclose(fp);//关闭文件
}
相似回答