Write函数
write()会把参数buf所指的内存写入count个字节到参数fd所指的文件内。
ssize_twrite(int fd,const void*buf,size_t count);
- fd:文件描述符
- *buf:写入数据的首地址
- count:写入数据个数
- 返回值:如果顺利write()会返回实际写入的字节数(len)。当有错误发生时则返回-1,错误代码存入errno中。
Read函数
从打开的fd设备或文件中读取count个字节到buf中。
ssize_tread(int fd,void * buf, size_tcount);
- fd: 文件描述符
- *buf: 读入数据的首地址
- count: 读入数据的个数
- 返回值:成功返回读取的字节数,出错返回-1并设置errno,如果在调read之前已到达文件末尾,则这次read 返回0 。
write,read综合练习代码:
注:#define fileName "mm"
#define writeNum 128
#define readNum 12
思路:
定义一个数组writeBuff并初始化, 将字符串text放入数组中,用到了字符串拷贝函数strcpy(),write(文件描述符,写入数据首地址,写入数据个数),打开一个文件,并判断是否打开成功。用read将readBuff里面的值打印出来。
注:其中打印出两次hello world是因为readBuff[11],而字符串hello world末尾还有结束符 \0。