#include<stdio.h>
#include<stdlib.h>
#include<sys/types.h>
#include<sys/socket.h>
#include<string.h>
#include<arpa/inet.h>
#include<netinet/in.h>
#include<unistd.h>
int main(int argc,char* argv[])
{
if(argc!=3){
return 2;
}
int sock = socket(AF_INET,SOCK_STREAM,0);
if(sock<0){
perror("sock");
return 3;
}
struct sockaddr_in peer;
peer.sin_family = AF_INET;
peer.sin_port = htons(atoi(argv[2]));
peer.sin_addr.s_addr =inet_addr(argv[1]);
if(connect(sock,(struct sockaddr*)&peer,sizeof(peer))<0){
perror("connect");
return 4;
}
//dup2(sock,1);
char buf[1024];
while(1){
ssize_t s = read(0,buf,sizeof(buf)-1);
if(strncmp("quit",buf,4)==0){
break;
}
dup2(sock,1);
printf("%s",buf);
}
close(sock);
return 0;
}
dup2测试用例 输出重定向
最新推荐文章于 2021-03-04 08:40:00 发布