当前位置: 技术问答>linux和unix
read()读文件如何能读到整行结束?
来源: 互联网 发布时间:2017-01-21
本文导语: 用read(fd,buf,size)从文件中读入size大小的内容到buffer中,但是遇到一个问题是指定的size很难刚好在一行的结束。 这样就会把文件中的一行拆开,而我需要一行一行处理, 请问如何能让read可以读到size前面的一个...
用read(fd,buf,size)从文件中读入size大小的内容到buffer中,但是遇到一个问题是指定的size很难刚好在一行的结束。
这样就会把文件中的一行拆开,而我需要一行一行处理, 请问如何能让read可以读到size前面的一个换行符就结束?
而把剩下的留个下次read再读完整一行?
如果用fget()可以每次读一行,但是效率比较慢,而且不能用lseek()。
或者还有其他什么函数?
谢谢
这样就会把文件中的一行拆开,而我需要一行一行处理, 请问如何能让read可以读到size前面的一个换行符就结束?
而把剩下的留个下次read再读完整一行?
如果用fget()可以每次读一行,但是效率比较慢,而且不能用lseek()。
或者还有其他什么函数?
谢谢
|
《unix网络编程卷1》中把利用read函数写了个每次读入一行的函数...可以查查去
|
标准输入输出利用了缓冲区,效率应该差不多,可以用fseek来定位。
|
不知道谁告诉你fgets慢得。
|
检测字符'n'或其他, 或用其他函数