读取文件内容c|C语言文件的文本怎么读取

读取文件内容c|C语言文件的文本怎么读取的第1张示图

⑴ 怎样用C读取文件内容

使用fopen,fscanf函数即可读取文件数据。1、fopen的函数原型:FILE * fopen(const char * path,const char * mode); fopen函数的第一个参数是文件路径,第二个参数是打开方式,有以下几种方式:r 以只读方式打开文件,该文件必须存在。r+ 以可读写方式打开文件,该文件必须存在。rb+ 读写打开一个二进制文件,允许读数据。rw+ 读写打开一个文本文件,允许读和写。w 打开只写文件,若文件存在则文件长度清为0,即该文件内容会消失。若文件不存在则建立该文件。w+ 打开可读写文件,若文件存在则文件长度清为零,即该文件内容会消失。若文件不存在则建立该文件。a 以附加的方式打开只写文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾,即文件原先的内容会被保留。(EOF符保留)a+ 以附加方式打开可读写的文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾后,即文件原先的内容会被保留。 (原来的EOF符不保留)wb 只写打开或新建一个二进制文件;只允许写数据。wb+ 读写打开或建立一个二进制文件,允许读和写。wt+ 读写打开或着建立一个文本文件;允许读写。at+ 读写打开一个文本文件,允许读或在文本末追加数据。ab+ 读写打开一个二进制文件,允许读或在文件末追加数据。上述的形态字符串都可以再加一个b字符,如rb、w+b或ab+等组合,加入b 字符用来告诉函数库打开的文件为二进制文件,而非纯文字文件。 返回值:文件顺利打开后,指向该流的文件指针就会被返回。如果文件打开失败则返回NULL,并把错误代码存在errno中。

⑵ C语言文件的文本怎么读取

根据你给的文件保存的数据的格式,我猜测每一行是一个学生的信息,格式如下:

序号 姓名 成绩1 成绩2 成绩3 …

知道了题意和题目要求,那么一切将会变得简单起来,请看代码。

#include<stdio.h>#defineREAD_FILE"data.txt"/*要读取的文件的名字*/#defineWRITE_FILE"T_data.txt"/*要写入的文件的名字*/#defineSTU_NUM10/*最大学生人数*/#defineMAX_LEN50/*一行的最大字符数*//**获取总分函数*/intget_sum(charconst*msg){intsum=0;inttmp;/**遍历一行字符*/while(*msg!=''){/**以空格为一项成绩的分隔标志*/tmp=0;while(*msg!=''&&*msg!=''){/**char类型数字转int类型数字*/tmp=(tmp*10)+((*msg)-'0');msg++;}/**求总和*/sum+=tmp;if(*msg==''){break;}msg++;}returnsum;}intmain(void){FILE*rfp,*wfp;/*声明读取/写入文件指针*/charstudent[STU_NUM][MAX_LEN];/*存放读取到的数据缓存数组*/charch;intsum[STU_NUM];/*成绩总和*/inti=0;intj=0;intk=0;rfp=fopen(READ_FILE,"r");/*打开数据文件*/if(rfp==NULL){perror(READ_FILE);exit(1);}for(i=0;i<STU_NUM;i++){sum[i]=0;}/**逐个字符读取文件的内容,*直至遇到文件结束符为止。*/i=0;while((ch=fgetc(rfp))!=EOF){/**遇到换行符表示已经读取完一个学生的资料;*否则继续将数据写入缓存数组中。*/if(ch==''){student[i][j]='';j=0;i+=1;}else{student[i][j++]=ch;}}student[i][j]='';wfp=fopen(WRITE_FILE,"w");/**开始分析数据*根据文件存放数据的格式,从下标为2的位置开始分析数据。*当遇到空格时证明后面的数据是成绩,每一科成绩分数均以空格分开。*printf是显示出来。*fprintf是写入另一个文件。*/for(j=0;j<=i;j++){k=2;printf("%c%c",student[j][0],student[j][1]);fprintf(wfp,"%c%c",student[j][0],student[j][1]);while(student[j][k]!=''){printf("%c",student[j][k]);fprintf(wfp,"%c",student[j][k]);k++;}printf("'ssumofscoresumis");fprintf(wfp,"'ssumofscoresumis");sum[j]=get_sum(&student[j][k]);printf("%d",sum[j]);fprintf(wfp,"%d",sum[j]);}/**记得关闭文件哦。*/fclose(rfp);fclose(wfp);return0;}

以下是运行结果:

这个程序仅仅是针对你的题目要求来的,文件存放的数据格式不能更改,否则会出错。每一行必须以回车键结束,最后一行的最后一个字符之后什么也不能有。我尽量以你看得懂的方法来写,关键部分都带有注释,有问题不要追问了,自己多思考思考,实在解决不来还是很欢迎可以追问的哦,哈哈哈!!!

⑶ c语言读取文本文件

1、C语言标准库提供了一系列文件操作函数。文件操作函数一般以f+单词的形式来命名(f是file的简写),其声明位于stdio.h头文件当中。例如:fopen、fclose函数用于文件打开与关闭;fscanf、fgets函数用于文件读取;fprintf、fputs函数用于文件写入;ftell、fseek函数用于文件操作位置的获取与设置。2、例程:

#include<stdio.h>inta;charb,c[100];intmain(){FILE*fp1=fopen("input.txt","r");//打开输入文件FILE*fp2=fopen("output.txt","w");//打开输出文件if(fp1==NULL||fp2==NULL){//若打开文件失败则退出puts("不能打开文件!");rturn0;}fscanf(fp1,"%d",&a);//从输入文件读取一个整数b=fgetc(fp1);//从输入文件读取一个字符fgets(c,100,fp1);//从输入文件读取一行字符串printf("%ld",ftell(fp1));//输出fp1指针当前位置相对于文件首的偏移字节数fputs(c,fp2);//向输出文件写入一行字符串fputc(b,fp2);//向输出文件写入一个字符fprintf(fp2,"%d",a);//向输出文件写入一个整数fclose(fp1);//关闭输入文件fclose(fp2);//关闭输出文件,相当于保存return0;}

⑷ C读取文件内容

C读取文件内容参考代码如下:

#include<stdio.h>#include<stdlib.h>#include<string.h>#defineMAX_LINE1024intmain(){charbuf[MAX_LINE];/*缓冲区*/FILE*fp;/*文件指针*/intlen;/*行字符个版数*/if((fp=fopen("test.txt","r"))==NULL){perror("failtoread");exit(1);}while(fgets(buf,MAX_LINE,fp)!权=NULL){len=strlen(buf);buf[len-1]='';/*去掉换行符*/printf("%s%d",buf,len-1);}return0;}

⑸ c语言如何读取文件并输出

c语言读取文件并输出的代码如下:

#include<stdio.h>

inta;

charb,c[100];

intmain(){

FILE*fp1=fopen("input.txt","r");//打开输入文件

FILE*fp2=fopen("output.txt","w");//打开输出文件

if(fp1==NULL||fp2==NULL){//若打开文件失败则退出

puts("不能打开文件!");

return0;

fscanf(fp1,"%d",&a);//从输入文件读取一个整数

b=fgetc(fp1);//从输入文件读取一个字符

fgets(c,100,fp1);//从输入文件读取一行字符串

printf("%ld",ftell(fp1));//输出fp1指针当前位置相对于文件首的偏移字节数

fputs(c,fp2);//向输出文件写入一行字符串

fputc(b,fp2);//向输出文件写入一个字符

fprintf(fp2,"%d",a);//向输出文件写入一个整数

fclose(fp1);//关闭输入文件

fclose(fp2);//关闭输出文件,相当于保存

return0;

C语言中使用fopen()函数实现文件的读取,使用fgetc()函数读取文件中的字符,使用fclose()实现文件的关闭,注意:打开文件流必须要关闭文件流,不然会持续占用计算机内存资源。

(5)读取文件内容c扩展阅读:

fopen函数

C语言中fopen函数可以两个参数,fopen(const char *filename, const char *mode)。

第一个参数filename:这是 C 字符串,包含了要打开的文件名称。

第二个参数mode:这是 C 字符串,包含了文件访问模式。

⑹ C语言如何读取txt文本里面的内容

C语言可以使用fopen()函数读取txt文本里。

示例:

#include <stdio.h>

FILE *stream, *stream2;

void main( void )

{

int numclosed;

/* Open for read (will fail if file "data" does not exist) */

if( (stream = fopen( "data", "r" )) == NULL )

printf( "The file 'data' was not opened" );

else

printf( "The file 'data' was opened" );

/* Open for write */

if( (stream2 = fopen( "data2", "w+" )) == NULL )

printf( "The file 'data2' was not opened" );

else

printf( "The file 'data2' was opened" );

/* Close stream */

if(fclose( stream2 ))

printf( "The file 'data2' was not closed" );

/* All other files are closed: */

numclosed = _fcloseall( );

printf( "Number of files closed by _fcloseall: %u", numclosed );

}

(6)读取文件内容c扩展阅读

使用fgetc函数

#include <stdio.h>

#include <stdlib.h>

void main( void )

{

FILE *stream;

char buffer[81];

int i, ch;

/* Open file to read line from: */

if( (stream = fopen( "fgetc.c", "r" )) == NULL )

exit( 0 );

/* Read in first 80 characters and place them in "buffer": */

ch = fgetc( stream );

for( i=0; (i < 80 ) && ( feof( stream ) == 0 ); i++ )

{

buffer[i] = (char)ch;

ch = fgetc( stream );

}

/* Add null to end string */

buffer[i] = '';

printf( "%s", buffer );

fclose( stream );

}

⑺ C语言读取文件数据

先用getline或fgets读取数据到一个字符串中,这个串定义的长一点,保证够用就行,如:charstr[1024];fgets(str,sizeof(str),fp);//fp为你打开的文件指针然后调用for循环去读取串的的数据,假设你的分隔符是空格,遍历str,遇到空格就得到一个数据,然后继续遍历,直到str尾。然后再去fgets数据,再遍历,即可得到所有的数据。

⑻ C语言如何读取文件

C语言读取文件的抄具体步骤如下:

我们需要准备的材料分别是:电脑、C语言。

1、首先我们打开需要读取的文件,点击打开左上角文件中的“另存为”。

未经允许不得转载:山九号 » 读取文件内容c|C语言文件的文本怎么读取

赞 (0)