开发者学堂课程【物联网开发- Linux 高级程序设计全套视频:Write 函数】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/660/detail/10976
Write 函数
内容介绍
一. Write 函数的介绍
二. Write 函数的例子
一.Write 函数的介绍
把指定数目的数据写到文件
write 函数,注意使用 write 函数先用 open 函数打开文件,write 里面这几个参数,fd 的文件里写东西,在程序里可以打开多个文件,每一个文件都可以接一下他的文件描述符,对哪一个文件进行读写,就用哪个文件的文件描述符,第二个参数是一个指针,这个指针指向内存当中的内容,写到文件当中去,第三个是字节数,写多少个字节,将 addr 指向的内存,count 字节,写到fd当中去,接下来有个返回值,如果成功的话,返回成功的字节数,如果失败的话,返回-1,使用 perror 去查看原因。
#include<unistd.h>
ssize t write(int fd,const void *addr,size_t count);
参数:
fd:文件描述符。
addr:数据首地址。
count:写入数据的字节个数。
返回值:
成功返回实际写入数据的字节个数。
失败返回-1,可以利用 perror 去查看原因。
二. Write 函数的例子
首先定义一个指针,这是文件的名字test,在文件当中定义一个hello word的字符串,写到text.txt当中去。
第一步要打开文件,用fd=open,打开这个txt文件,以WR_WRONLY的方式打开,打开了之后,fd这个文件,就存放了一个文件描述符,接下来要往文件里面写东西了,再定义一个count变量,让count=write(fd,str)讲str指向的字符长度位strlen(str)长度的字节写入到fd中去,判断一下,如果count为-1,则失败,就用perror打印出错信息,程序结束或者做其他处理,否则写入成功。
代码演示:
int fd;
int count;
char *path=”./test.txt”;
char * str=”hello word”;
fd=open(path,O_WRONLY);
if(fd==1)
{
perror(“open”);
return 0;
}
count =write(fd,str,strlen(str));
if(count = -1)
{
perror(“write”);
return 0;
}