read()函数的使用方法
函数原型定义: ssize_t read[1] (int fd, void *buf, size_t count);
使用的头文件: #include <unistd.h>
函数的返回值说明: (1)如果成功,返回读取的字节数; (2)如果出错,返回-1并设置errno; (3)如果在调read函数之前已是文件末尾,则返回0
函数的参数【int fd】: 这个是文件指针
函数的参数【void *buf】: 读上来的数据保存在缓冲区buf中,同时文件的当前读写位置向后移
函数的参数【size_t count】: 是请求读取的字节数。若参数count 为0, 则read()不会有作用并返回0. 返回值为实际读取到的字节数, 如果返回0
函数的使用注意事项: 如果顺利 read()会返回实际读到的字节数, 最好能将返回值与参数count 作比较, 若返回的字节数比要求读取的字节数少, 则有可能读到了文件尾
read()函数使用的简单例子:#include <unistd.h>#include <sys/types.h>#include <sys/stat.h>#include <fcntl.h>main(){ int fd, size; char s[] = "Linux Programmer!\n", buffer[80]; fd = open("/tmp/temp", O_WRONLY|O_CREAT); write(fd, s, sizeof(s)); close(fd); fd = open("/tmp/temp", O_RDONLY); size = read(fd, buffer, sizeof(buffer));close(fd); printf("%s", buffer);}