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;
}