目录
write函数写入介绍
#include <unistd.h> //头文件
ssize_t write(int fd, const void *buf, size_t count); //函数原型
函数功能:
对open打开的文件进行写入write数据操作。(将缓冲区const void *buf内的数据写入到int fd 文件里面,写入size_t count个字节数)
函数返回值:
write函数调用成功时候返回写入字符数,调用失败返回-1.
函数参数:
int fd:文件描述符,在open函数获取
const void *buf:无类型的指针,数据缓冲区。
size_t count:写入多少个字符数据
代码演示:
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include<stdio.h>
#include <unistd.h>
#include<string.h>
int main()
{
int fd;
char *buf = "yyds"; //缓冲区数据,
fd = open("./file",O_RDWR); //打开file文件,可读可写的方式打开
if(fd == -1){ //判断是否打开成功
fd = open("./file",O_RDWR|O_CREAT,0600); //文件打开失败,就创建这个文件
if(fd > 0){
puts("success create");
}else{
puts("creation failure");
}
}
printf("fd = %d\n",fd); //打印文件描述符
n_write = write(fd,buf,strlen(buf));//将buf内的数据,通过文件描述符写入到文件里面,写入strlen个数据。
//strlen(buf)计算buf内有多少字符
if(n_write != -1){ //对写入的数据进行判断
printf("write %d byte to file\n",n_write);
}
close(fd);//close函数功能关闭open打开的文件
return 0;
}