编写一个命名管道读写的C语言示例程序
时间: 2024-03-09 10:50:44 浏览: 99
命名管道实例
下面是一个使用命名管道进行读写的C语言示例程序:
```c
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <fcntl.h>
#include <sys/stat.h>
#include <string.h>
#define PIPE_NAME "/tmp/my_pipe"
int main()
{
int fd;
char buffer[1024];
// 创建命名管道
mkfifo(PIPE_NAME, 0666);
// 打开命名管道
fd = open(PIPE_NAME, O_RDWR);
// 写入数据到命名管道
write(fd, "Hello, named pipe!", strlen("Hello, named pipe!"));
// 从命名管道读取数据
read(fd, buffer, sizeof(buffer));
printf("Received message: %s\n", buffer);
// 关闭命名管道
close(fd);
// 删除命名管道
unlink(PIPE_NAME);
return 0;
}
```
这个程序首先创建一个命名管道,然后打开这个命名管道,并向其中写入一条消息。接着,它从命名管道中读取一条消息,并将其打印输出。最后,它关闭命名管道,并将其删除。请注意,由于命名管道是一个独立的文件,因此需要使用 `unlink()` 函数将其删除。
阅读全文