unix环境下C程序,从一个文件读入至少五条数据,然后输出到另一个文件中。很简单吧,可是不熟,也没时间了

unix环境下C程序,从一个文件读入至少五条数据,然后输出到另一个文件中。很简单吧,可是不熟,也没时间了,第1张

不知道是什么意思啊,读入数据需要控高洞制的。写个大概给你看吧,具体自己控制。

#include <fcntl.h>

#include <unistd.h>

#define NUM 1000 //每次最大写入1000字节

int main(int argc, char *argv[]){

int fd1, fd2, check

char buf[NUM]

fd1 = open("file1", O_RDONLY)//只读打败猛开

fd2 = open("file2", O_WRONLY)//只写打开

while(condition){

check = read(fd1, buf, num_read) //num_read是int,读入写出的字节数,自己控制

if(check != num_read)

break //读不够数可能到结尾了,退出

if(check == -1)

perror("read error")//也可能是出错了

if(write(fd2, buf, strlen(buf)) != strlen(buf))

perror("write error")

}

close(fd1)

close(fd2)

return 0

}

直接在百度里手打,可能有手误,思路就察念桥这样。

1. 为何这个服务端和客户端通信的时候只有client能收到服务器发来的消息,但是服务端却收不到消息?

服务器的accept得到的link_fd,只是对应于客户端的,如果服务端想要收消息,等于服务端也要有个client

2. htons和inet_aton有什么区别?

inet_aton()是一个改进的方法来将一个字符串IP地址转换为一个32位的网络序列IP地址。

htons的功能:将一个无符号短整型数值转换为网络字节序,即大端模式(big-endian)

通俗说法:inet_aton就是把“192.168.1.1”转成一个32位的对皮耐应于该ip的一个数字。

而htons,是改变字节序燃扮春,根据当前机器的字节序是大端还是小端,来调整字节的顺序,如1,如果是int,小端的话是01 00 00 00, 大端的话是 00 00 00 01, 而如果使用网络,必须缺桐避免平台相关的因素,所以统一规定为大端。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12347278.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存