linux 文件IO操作中,用read函数读取文件,有没有办法每次只读取一行,而不是读取指定的字节数?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux 文件IO操作中,用read函数读取文件,有没有办法每次只读取一行,而不是读取指定的字节数?相关的知识,希望对你有一定的参考价值。

如题

参考技术A sorry,开始没注意空格
char buf[256]; //一行超过256个字节??
char temp;
int i = 0;
do

if(read(fd, &temp, 1) == 0)break;
if(temp == '\n') break;
buf[i++] = temp;
while(1);
buf[i] =='\0';本回答被提问者采纳
参考技术B getc和fgetc是一个字符一个字符的读,而gets和fgets就是一行一行的读。 参考技术C 不是有个函数叫readline吗?你可以看下这个函数的用法。

Linux进阶系列 1 --- 进程通信

 

进程都是运行在物理内存上

linux 进程中通信方式

1.无名管道 (无文件名,适合亲缘进程通信)

 pipe() 函数实现

write  read  IO操作函数  以文件方式来读取,写入操作数据

 

 

 

 因为没有文件名,无法调用open()函数打开文件

 

 

 

2 有名管道 (有文件名)

   

 

 

 

3.消息队列(网状通信)

 

 

 

 

 

  ipcs 命令可查看消息队列

msgsend  msgrecv

4.共享内存

 

 

5.信号量

 

 

 

视频地址:https://www.bilibili.com/video/BV1fE411v7Bb?p=18

 

以上是关于linux 文件IO操作中,用read函数读取文件,有没有办法每次只读取一行,而不是读取指定的字节数?的主要内容,如果未能解决你的问题,请参考以下文章

java 用FileInputStream中read方法读取文件出现乱码

C语言用read封装/实现一个readline函数,读取文件一行 or 最后一行

文件IO详解---read函数详解

驱动开发 —— 文件IO模型(阻塞/非阻塞)

读文件

linux中read,write和recv,send的区别