[c]代码库
程序一:建立管道并且写数据
#include <stdio.h>
#include <fcntl.h>
#include <unistd.h>
#include <sys/stat.h>
#include <signal.h>
#include <stdlib.h>
int fd;
int i=0;
void end(int s)
{
//关闭管道
close(fd);
//删除管道
unlink("my.pipe");
exit(-1);
}
main()
{
signal(SIGINT,end);
//建立管道
mkfifo("my.pipe",0666);
//打开管道
fd=open("my.pipe",O_RDWR);
while(1)
{
//每隔1秒写数据
sleep(1);
write(fd,&i,4);
i++;
}
}
程序二:打开管道并且读取数据
#include <stdio.h>
#include <fcntl.h>
#include <unistd.h>
#include <sys/stat.h>
#include <signal.h>
#include <stdlib.h>
int fd;
int i;
void end(int s)
{
//关闭管道
close(fd);
exit(-1);
}
main()
{
//int i;
//打开管道
signal(SIGINT,end);
fd=open("my.pipe",O_RDWR);
while(1)
{
read(fd,&i,4);
printf("%d\n",i);
}
}