有很多种方式可以一次性读取多行数据,具体如何使用,取决于文件内容格式。
一、以fscanf读取。
fscanf读取时,默认会到空白字符截止。所以如果文件中不存在其它空白字符,那么可以以fscanf实现一次性读取多行的效果,比如文件中存储为
12.3
name
那么要一次性读取这三行数据,可以使用:
int afloat b
char c[20]
fscanf(fp, "%d%f%s",&a,&b,c)
其中,fp为打开该文件的文件指针, 分别将三行数据读取到三个变量a b c中。
二、以fread读取。
fread可以一次性读取若干个数据块,所以如果要读取的文件内容总长度已知,那么可以通过fread一次性读取多行。如
this isfor
my test
only.
以上数据分4行,包括换行符在内共计25字节。
此时可以使用如下代码一次性读取四行:
char buf[100]fread(buf, 25, 1, fp)
其中fp为打开该文件的文件指针。
double a[100] , b[100] , c[100]int i=0
FILE *fp
fp=fopen("txt" , "r")
while( !feof(fp) )
{
fscanf( fp , "%lf %lf %lf\n" , &a[i] , &b[i] , &c[i] )
i++
}
fclose(fp)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)