ssize_t read(int fd, void *buf, size_t count);
将fd中的内容读取到buf中。
代码:
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>int main()
{int fd;char *buf = "qianrushi";fd = open("./file1",O_RDWR);if(fd == -1){printf("open file1 failed\n");fd = open("./file1",O_RDWR|O_CREAT,0600);if(fd>0){printf("create file1 successful\n");}}printf("open success : fd=%d\n",fd);int n_write = write(fd,buf,strlen(buf));if(n_write != -1){printf("write %d byte to file\n",n_write);}close(fd); //在进行完写操作后,要关闭文件。不然光标位置变动无法进行读操作fd = open("./file1",O_RDWR|O_CREAT,0600);//从新打开文件,将光标位置置于最前面。char *readBuf;readBuf = (char *)malloc(sizeof(char)*n_write+1);int n_read = read(fd,readBuf,n_write); //读取file1中的内容。printf("read %d,context:%s\n",n_read,readBuf); //打印读取的内容。close(fd);return 0;
}