我是靠谱客的博主 自信曲奇,最近开发中收集的这篇文章主要介绍read的write函数写C语言,read(),write()函数与socket通信,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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);多加一个''

if(strcmp(buf,"exit")==0)

{

break;

}

memset(buf,0,BUFSIZ);

read(client,buf,64);

if(strcmp(buf,"exit")==0)

{

break;

}

puts(buf);

}

close(client);//关闭客户端

return 0;

}

server.c

#include#include#include#include#include#include#include#includeint main()

{

struct sockaddr_in server_add;

int server_id=socket(AF_INET,SOCK_STREAM,0);

server_add.sin_family=AF_INET;

server_add.sin_port=htons(8143);

server_add.sin_addr.s_addr=inet_addr("127.0.0.1");

bind(server_id,(struct sockaddr*)&server_add,sizeof(struct sockaddr));

listen(server_id,2);

int client_id=accept(server_id,NULL,NULL);

char buf[BUFSIZ];

while(strcmp(buf,"exit")!=0)

{

read(client_id,buf,64);

if(strcmp(buf,"exit")==0)

{

break;

}

puts(buf);

memset(buf,0,BUFSIZ);

fgets(buf);

write(client_id,buf,strlen(buf)+1);

if(strcmp(buf,"exitn")==0)

{

break;

}

}

close(client_id);

close(server_id);

return 0;

}

最后

以上就是自信曲奇为你收集整理的read的write函数写C语言,read(),write()函数与socket通信的全部内容,希望文章能够帮你解决read的write函数写C语言,read(),write()函数与socket通信所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(39)

评论列表共有 0 条评论

立即
投稿
返回
顶部