可以使用fgets函数。
1 函数名:
fgets
2 声明:
char *fgets(char *buf, int bufsize, FILE *stream)
3 头文件:
stdio.h
4 功能:
从文件结构体指针stream中读取数据,每次读取一行。读取的数据保存在buf指向的字符数组中,每次最多读取bufsize-1个字符(第bufsize个字符赋'\0'),如果文件中的该行,不足bufsize个字符,则读完该行就结束。如若该行(包括最后一个换行符)的字符数超过bufsize-1,则fgets只返回一个不完整的行,但是,缓冲区总是以前改NULL字符结尾,对fgets的下一次调用会继续读该行。函数成功将返回buf,失败或读到文件结尾返回NULL。因此我们不能直接通过fgets的返回值来判断函数是否是出错而终止的,应该借助feof函数或者ferror函数来判断。
5 参数:
*buf: 字符型指针,指向用来存储所得数据的地址。
bufsize: 整型数据,指明存储数据的大小。
*stream: 文件结构体指针,将要读取的文件流。
6 返回值:
成功,则返回第一个参数buf;
在读字符时遇到end-of-file(文件结尾),则eof指示器被设置,如果还没读入任何字符就遇到这种情况,则buf保持原来的内容,返回NULL;
如果发生读入错误,error指示器被设置,返回NULL,buf的值可能被改变。
7 示例代码:
逐行读取in.txt中的数据,并打印。每行不超过100个字符。
int main(){
FILE *fp
char buf[101]
fp = fopen("in.txt", "r")//打开文件
while(fgets(buf, sizeof(buf), fp))//每次读取一行数据,直到读取失败。
{
慧陆判 printf("%s\n", buf) //打印该行。
}
悉并 fclose(fp)//关闭文件。
return 0
}
可以通过FileReader 的readLine()方法实现。FileReader fr=new FileReader("filename.txt")//获取文件流
BufferedReader br = new BufferedReader(fr)//将流整体读取。祥扰
String str
while((str=br.readLine())!=null){//判断是否是最后一行
system.out.print(str)//散宴老输出每一行内容。
}
总冲升结:以上就是通过读取文件中每行内容,之后通过readLine方法进行每一行的内容输出。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)