linux系统函数学习_(2)read函数和write函数及errno
read()函数
功能:从打开的设备或文件中读取数据。
函数原型:
ssize_t read(int fd, void* buf, size_t count);
参数:
- fd: 文件描述符
- buf: 存数据的缓冲区
- count: 缓冲区大小,即请求读取的字节数
返回值:
0: 文件读取完毕,即读到文件末尾
>0: 读到的字节数
-1: 失败,设置errno 并且errno=EAGIN或者EWOULDBLOCK,说明不是read失败,而是read在以非阻塞方式读一个设备文件(网络文件),并且文件无数据。
write()函数
功能:向打开的设备或文件中写数据。
函数原型:
ssize_t write(int fd, const void* buf, size_t count);
参数:
- fd: 文件描述符
- buf: 待写出数据的缓冲区
- count: 数据大小
返回值: 成功->写入文件的字节数 失败-> -1
示例:
// write.c
#include<unistd.h>
#include<fcntl.h>
#include<stdio.h>
#include<stdlib.h>
int main(int argc, char *argv[])
{
int fd;
char buf[]="hello,open&write";
fd = open("test.txt",O_RDWR);
if(fd == -1)
{