方法:
sprintf ( str , "字符串内容+ %d " , num )
解释:
向 空字符串str 写入后面的内容
对于同一个有名管道,必须有读端和写端,否则open时就会阻塞,
但是读端和写端可以再不同文件内打开:
在a.c内打开读端,
在b.c内打开写端。
但是write函数传入的只能是字符串,若想在字符串内加上持续改变的变量,可用sprintf函数。
实例进程a:
int main (int argc,char*argv[])
{
int fd;
int num =1;
mkfifo("myfifo",0664);
printf("************");
fd = open("myfifo",O_WRONLY);
printf("------------");
char buf[128]="";
while(1)
{
sprintf(buf,"管道循环的次数:%d\n",num);
write(fd,buf,sizeof(buf));
num++;
sleep(1);
}
return 0 ;
实例进程b:
int main (int argc,char*argv[])
{
int fd;
mkfifo("myfifo",0664);
printf("************");
fd = open("myfifo",O_RDONLY);
printf("------------");
char buf[128]="";
while(1)
{
read(fd,buf,sizeof(buf));
printf("%s",buf);
sleep(1);
}
return 0 ;
}