c语言如何从文件中读入一行数据

Python031

c语言如何从文件中读入一行数据,第1张

关键技巧:

每行数据个数随机,可用

c

=

fgetc(fin)

ungetc(c,fin)

检查是否读到

换行符或文件结束符。

例如:

a.txt

1

2

3

45

56

6

7

8

9

10

至于记录每行数据个数,存放到数组,等等,可以自己补充完善。

程序:

#include

<stdio.h>

int

main(

)

{

file

*fin

int

a,c

fin=fopen("a.txt","rw")

while(1){

c

=

fgetc(fin)

if

(c==eof)

break

if

(c=='\n')

{printf("\n==========\n")

continue}

ungetc(c,fin)

fscanf(fin,"%d",&a)

printf("%d

",a)

}

fclose(fin)

return

0

}

C语言可以通过fgets函数一次读一行数据。

fgets函数原型如下:

char *fgets(char *buf, int bufsize, FILE *stream)

参数 说明

*buf: 字符型指针,指向用来存储所得数据的地址。

bufsize: 整型数据,指明存储数据的大小。

*stream: 文件结构体指针,将要读取的文件流。

fgets函数注意细节如下:

从文件结构体指针stream中读取数据,每次读取一行。

读取的数据保存在buf指向的字符数组中,每次最多读取bufsize-1个字符(第bufsize个字符赋'\0'),如果文件中的该行,不足bufsize个字符,则读完该行就结束。

如若该行(包括最后一个换行符)的字符数超过bufsize-1,则fgets只返回一个不完整的行,但是,缓冲区总是以NULL字符结尾,对fgets的下一次调用会继续读该行。

函数成功将返回buf,失败或读到文件结尾返回NULL

用fstream(文件流),fstream

file

然后

file.getline(char*,int,char

a=‘\n’)第一个是一个存储字符串的指针,第二个是要读取的最大长度,第三个是行结束符,默认是回车,函数说明就是当读入的字符超过最大长度int或者遇到行结束符(‘\n’)时就停止,而且这个很好用的(对于读入和写入),你看看文档就会了,哈哈,给分啊。!!~~