ssize_t write(int fd, const void *buf, size_t count);
int fd:描述符。
const void *buf:一个无类型指针作为写入的缓冲区。
size_t count : 写入文件的大小
将缓冲区里面内容写入(大小为count)到fd中。
代码:
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
#include <stdio.h>
int main()
{
int fd;
char *buf = "qianrushi"; //定义buf类型和要写入的内容
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);
write(fd,buf,sizeof(buf)); //写入操作
close(fd); //关闭该文件
return 0;
}
在linux对指针分配了8个字节,所以只显示qianrush。
此时需更改:
write(fd,buf,strlen(buf));