A
#include "stdio.h"
#include "pthread.h"
#include "string.h"
#include <fcntl.h>
char fileout[20] = "fio.pipe";
char fileint[20] = "fii.pipe";
int r;
int fd1;
int fd2;
int p1=0;
int flag=0;
char putbuff[256];
char getbuff[256];
void thread()
{
while(1){ //发送
printf("清输入:");
scanf("%s",putbuff);
write(fd1,putbuff,strlen(putbuff)+1);};
}
int main()
{
r = mkfifo(fileint,0666);
r = mkfifo(fileout,0666);
fd1 = open(fileout,O_RDWR);
fd2 = open(fileint,O_RDWR);
pthread_t th;
pthread_create(&th,NULL,(void *)thread,NULL);//线程创建
while(1){
r = read(fd2,getbuff,sizeof(getbuff)-1);
if(r > 0){
getbuff[r] = 0;
printf("\n对方说:%s \n",getbuff);
}
}
pthread(th,NULL); //线程结束
return 0;
}
B
#include "stdio.h"
#include "pthread.h"
#include "string.h"
#include <fcntl.h>
char fileout[20] = "fio.pipe";
char fileint[20] = "fii.pipe";
int r;
int fd1;
int fd2;
int p1=0;
int flag=0;
char putbuff[256];
char getbuff[256];
void thread()
{
while(1){ //发送
printf("清输入:");
scanf("%s",putbuff);
write(fd2,putbuff,strlen(putbuff)+1);};
}
int main()
{
r = mkfifo(fileint,0666);
r = mkfifo(fileout,0666);
fd1 = open(fileout,O_RDWR);
fd2 = open(fileint,O_RDWR);
pthread_t th;
pthread_create(&th,NULL,(void *)thread,NULL);//线程创建
while(1){
r = read(fd1,getbuff,sizeof(getbuff)-1);
if(r > 0){
getbuff[r] = 0;
printf("\n对方说:%s \n",getbuff);
}
}
pthread(th,NULL); //线程结束
return 0;
}