linux管道通信传递整数
时间: 2023-07-08 21:04:44 浏览: 156
在 Linux 中,可以使用管道进行进程间通信。如果要传递整数,一种简单的方法是将整数转换为字符串,然后发送到管道中。接收方再将字符串转换回整数。
以下是一个示例代码:
发送方:
```c
#include <stdio.h>
#include <unistd.h>
int main()
{
int num = 123;
char str[10];
sprintf(str, "%d", num); // 将整数转换为字符串
write(STDOUT_FILENO, str, sizeof(str)); // 将字符串写入标准输出
return 0;
}
```
接收方:
```c
#include <stdio.h>
#include <unistd.h>
int main()
{
char str[10];
read(STDIN_FILENO, str, sizeof(str)); // 从标准输入读取字符串
int num = atoi(str); // 将字符串转换为整数
printf("Received number: %d\n", num);
return 0;
}
```
在命令行中,可以使用管道将两个进程连接起来:
```
$ ./sender | ./receiver
Received number: 123
```
阅读全文