检查文件是否为C ++中的命名管道(FIFO)

密码子480

我有一个程序使用C ++使用以下命令从文件“ foo”中读取:

pFile = fopen ("foo" , "r");

如果文件是命名管道,我希望它停止执行其余功能。有没有办法在打开文件之前检查文件是否是命名管道?

我使用python找到了完全相同的问题:检查文件是否是python中的命名管道(fifo)?我可以在C ++中做类似的事情吗?

约瑟夫·昆西

来自man 2 stat

int fstat(int filedes, struct stat *buf);

...以下POSIX宏已定义为使用st_mode字段检查文件类型:

         S_ISFIFO(m) FIFO (named pipe)?

所以struct stat st; ... !fstat(fileno(pFile, &st) && S_ISFIFO(st.st_mode)应该工作。

编辑:另请参见SzG的出色解答以及Brian对此的评论。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

C使用select()从两个命名管道(FIFO)中读取

来自分类Dev

mknod创建的命名管道和mkfifo创建的FIFO是否等效?

来自分类Dev

FIFO / D中的命名管道?

来自分类Dev

如何在C ++中检查ifstream是否为文件结尾

来自分类Dev

如何检查C中的文件是否为空?

来自分类Dev

检查C中的stdin管道是否为空

来自分类Dev

检查输入文件在C中是否为有效文件

来自分类Dev

在fifo文件(又名命名管道)上有任何特殊权限的ssh远程命令吗?

来自分类Dev

通过c中的命名管道传递数组

来自分类Dev

检查输入是否为C中的数字

来自分类Dev

检查输入是否为 C 中的整数

来自分类Dev

如何在C中检查文件名是否为目录?

来自分类Dev

如何检查文件系统上是否存在命名管道

来自分类Dev

检查文件是否为PHP中的音频文件

来自分类Dev

检查文件是否在C目录中

来自分类Dev

检查文件是否在C目录中

来自分类Dev

是否可以检查C#中的值是否为int?

来自分类Dev

c-了解管道/ fifo是否已满

来自分类Dev

从文件中读取数字并检查是否为随机数

来自分类Dev

如何在Java中检查文件是否为gzip

来自分类Dev

检查PhpStorm文件模板中的变量是否为空

来自分类Dev

从文件中读取数字并检查是否为随机数

来自分类Dev

Python:检查命名管道是否包含数据

来自分类Dev

FIFO,管道和Unix域套接字在Linux内核中是否相同?

来自分类Dev

无法使用C中的命名管道与Shell脚本进行通信

来自分类Dev

在C程序中创建的Bash中使用命名管道

来自分类Dev

C中没有叉的未命名管道

来自分类Dev

检查HtmlString是否在C#中为空格

来自分类Dev

检查C#中的字符串是否为URL

Related 相关文章

热门标签

归档