概述
read()函数,顾名思义,read即为读,从文件中读出。
用 法: int read(int handle, void *buf, int nbyte);
表头文件:#include
函数说明:
read()会把参数handle所指的文件(可以是文件描述符)传送n byte个字节到buf所指的内存中。若参数nbyte为0,则read()不会有作用并返回0。返回值为实际读取到的字节数,如果返回0,表示已到达文件尾或无可读取的数据。
write函数,顾名思义,write即为写,写入到一个文件中。
表头文件
#include
用法:
s write (int fd,const void * buf,size_t count);
函数说明:
write()会把参数buf所指的内存写入count个字节到参数fd所指的文件(文件描述符)内。当然,文件读写位置也会随之移动。
如果顺利write()会返回实际写入的字节数。当有错误发生时则返回-1,存入errno中。
在操作系统中,设备都被称之为文件,i/o设备也可以成为i/o文件操作
在sock编程中用read和write进行通信操作是很常见的
以下一个小编程供大家参考
client.c
#include#include#include#include#include#include#include#includeint main(void)
{
struct sockaddr_in client_add;
int client=socket(AF_INET,SOCK_STREAM,0);
client_add.sin_family=AF_INET;
client_add.sin_port=htons(8143);
client_add.sin_addr.s_addr=inet_addr("127.0.0.1");
connect(client,(struct sockaddr*)&client_add,sizeof(struct sockaddr));
char buf[BUFSIZ];
while(strcmp(buf,"exit")!=0)
{
memset(buf,0,BUFSIZ);
fgets(buf);
write(client,buf,strlen(buf)+1);多加一个'