如何用C语言循环读取文件内容

如何用C语言循环读取文件内容,第1张

循环读取一个文件内容

这样做没有任何意义,不如把读取的内容保持在变量当中,节省空间时间。如果非要反复读取的话可以使用rewind函数把文件指针重置。

函数名: rewind()

功 能: 将文件内部的位置指针重新指向一个流(数据流/文件)的开头

注意:不是文件指针而是文件内部的位置指针,随着对文件的读写文件的位置指针(指向当前读写字节)向后移动。而文件指针是指向整个文件,如果不重新赋值文件指针不会改变。rewind函数作用等同于 (void)fseek(stream, 0L, SEEK_SET)

循环读取多个文件的内容。

把多个文件名存在一个字符串数组当中。使用循环语句反复打开-读取-关闭即可。

例如:

char * s[3]={"文件一","文件二","文件三"}

for(i=0i<3i++){

    f=fopen(s[i]) //打开第i个文件

   //读取数据

    fclose(f)//关闭文件

}

下面的代码是刚刚给你写好的,文件名仅限"a.txt" "b.txt"和"c.txt"#include"stdio.h"

#include"stdlib.h"

int main(void)

{

FILE *fp

char filename[]="a.txt"

int i

void *p[3]

long filelen

for(i=0i<3i++)

{

fp=fopen(filename,"rb")

if(!fp){printf("\"%s\"文件打开失败\n",filename)continue}

fseek(fp,0,2)

filelen=ftell(fp)

fseek(fp,0,0)

p[i]=malloc((filelen+1)*sizeof(char))

fread(p[i],filelen*sizeof(char),1,fp)

*((char *)p[i]+filelen)='\0'

fclose(fp)

filename[0]++

}

for(i=0i<3i++)puts(p[i])

return 0

}

ansys 中循环:1、命令流:DO,i,1,100 ...( *** 作语句)ENDDO 2、举例:DO,I,1,5 ...( *** 作语句)ENDDO 最后的1,表示每次增量为1,i从1变到5,每次增量为1


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11700522.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存