㈠ c语言 文件读取 字符 到一个字符数组
可以通过fgetc函数,将字符读取出来,并赋值到数组的对应位置上。
fgetc声明在stdio.h中,其原型为
int fgetc(FILE *fp);
功能为从打开的文件fp中读取一个字符,并返回。
当读取成功时,返回读取到的字符的ascii码值,否则返回EOF。
以下是逐个读取字符,存于字符数组,直到读完整个文件的例子。
#include<stdio.h>
intmain()
{
charbuf[10240];//定义一个足够大的字符数组存文件数据。
intc;//临时变量。
intcnt=0;//标记目前读到几个字节。
FILE*fp;//文件指针。
fp=fopen("in.txt","r");//打开文件。
while(1)
{
c=fgetc(fp);//读一个字节。
if(c==EOF)break;//到文件尾,退出循环。
buf[cnt]=c;//赋值到字符数组中。
cnt++;//读到的字符增加一个。
}
fclose(fp);//关闭文件。
return0;
}
㈡ C语言中如何读取文件中的汉字并将其存入数组中
为了方便文本文件的操作,标准函数编程库提供了,行读写函数,
char
*gets(char
*s);
char
*fgets(char
*s,
int
n,
FILE
*stream);
-----------------------精通unix下c语言编程与项目实践P66
行输出函数族
int
puts(const
char
*s);
int
fputs(const
char
*s,
FILE
*stream);
-----------------------精通unix下c语言编程与项目实践P67
块读写函数
能够输入输出任意数量的字符,在操作二进制文件时常常使用,
fread
和fwrite
块读写函数经常操作二进制文件。
-----------------------精通unix下c语言编程与项目实践P70
再有就是编码的知识了
当你输出的ascii码在汉字的范围内的时候,汉字系统会认识到
然后把相应的ascii码变成汉字。
㈢ C语言中如何读取文件中的汉字并将其存入数组中
建立一个足够大的字符型数组;
以文本方式读打开原文件;
按字符方式读取文件,每读一个字符判断一下是否为汉字编码(<0),若是则存入字符数组,不是则跳过读取下一个字符,直到文件结束。
设原文件在当前目录下,名为123.txt,举例代码如下:
//#include"stdafx.h"//Ifthevc++6.0,withthisline.
#include"stdio.h"
#include"stdlib.h"
intmain(void){
chars[1000],ch;
FILE*fp;
inti=0;
if((fp=fopen("123.txt","r"))==NULL){
printf("Openthefilefailure... ");
exit(0);
}
while((ch=fgetc(fp))!=EOF)
if(ch<0)
s[i++]=ch;
fclose(fp);
s[i]='