用pipe函数打印12345
时间: 2024-05-01 14:17:48 浏览: 41
Python multiprocessing模块中的Pipe管道使用实例
好的,请看下面的代码:
```
#include <stdio.h>
#include <unistd.h>
int main() {
int fds[2];
pipe(fds);
pid_t pid = fork();
if (pid == 0) {
close(fds[0]); // 关闭读端
// 将数据写入管道
for (int i = 1; i <= 5; i++) {
write(fds[1], &i, sizeof(i));
}
close(fds[1]); // 关闭写端
} else {
close(fds[1]); // 关闭写端
int data;
// 从管道读取数据并输出
while (read(fds[0], &data, sizeof(data)) > 0) {
printf("%d\n", data);
}
close(fds[0]); // 关闭读端
}
return 0;
}
```
这个程序中,使用了管道(pipe)创建了一个父子进程之间进行通信的数据通道,父子进程通过 pipe 函数创建了一个读写两端的管道,然后通过 fork 函数创建了子进程。在子进程中,通过 write 函数将 1 至 5 的整数写入到管道中;在父进程中,通过 read 函数从管道中读取数据并输出。注意,在父进程中要使用循环读取管道中的数据,直到读不到数据为止。
阅读全文