C语⾔中write函数
版权声明:本⽂为博主原创⽂章,未经博主允许不得转载。 blog.csdn/SMF0504/article/details/51701437 write函数是函数。
write函数所在的头⽂件为 <unistd.h>
write有两种⽤法。⼀种是:
ssize_twrite(int handle, void *buf, int nbyte);
handle 是;
buf是指定的缓冲区,即,指向⼀段内存单元;
nbyte是要写⼊⽂件指定的字节数;返回值:写⼊⽂档的字节数(成功);-1(出错)
write函数把buf中nbyte写⼊⽂件描述符handle所指的⽂档,成功时返回写的字节数,错误时返回-1.
另⼀种是:write(const char* str,int n)
str是指针或字符,⽤来存放⼀个字符串。n是int型数,它⽤来表⽰输出显⽰字符串中字符的个数。
write("string",strlen("string");表⽰输出
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27#include <stdio.h>
#include <stdlib.h>
#include <fcntl.h>
c++strcpy函数用法#include <sys\stat.h>
#include <io.h>
#include <string.h>
int main(void)
{
int *handle; char string[40];
int length, res;
/
* Create a file named "TEST.$$$" in the current directory and write a string to it. If "TEST.$$$" already exists, it will be overwritten. */ if ((handle = open("TEST.$$$", O_WRONLY | O_CREAT | O_TRUNC, S_IREAD | S_IWRITE)) == -1)
{
printf("Error opening file.\n");
exit(1);
}
strcpy(string, "Hello, world!\n");
length = strlen(string);
if ((res = write(handle, string, length)) != length)
{
printf("Error writing to the file.\n");
exit(1);
}
printf("Wrote %d bytes to the file.\n", res);
close(handle);
return 0;
}
读函数read
ssize_t read(int fd,void *buf,size_t nbyte)
read函数是负责从fd中读取内容.成功时,read返回实际所读的字节数,如果返回的值是0,表⽰已经读到⽂件的结束了.
⼩于0表⽰出现了错误.如果错误为EINTR说明读是由中断引起的, 如果是ECONNREST表⽰⽹络连接出了问题.
写函数write
ssize_t write(int fd,const void *buf,size_t nbytes)
write函数将buf中的nbytes字节内容写⼊⽂件描述符fd.成功时返回写的字节数.失败时返回-1. 并设置errno变量. 在⽹络程序中,当我们向套接字⽂件描述符写时有俩种可能.
1)write的返回值⼤于0,表⽰写了部分或者是全部的数据.
2)返回的值⼩于0,此时出现了错误.我们要根据错误类型来处理.  如果错误为EINTR表⽰在写的时候出现了中断错误.
如果为EPIPE表⽰⽹络连接出现了问题(对⽅已经关闭了连接).

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。