У меня есть программа чтения из файла «Foo» с помощью C++ с помощью:Проверьте, если файл является именованным каналом (ФИФО) в C++
pFile = fopen ("foo" , "r");
Я хочу, чтобы это прекратить выполнение остальной части функции, если file - это именованный канал. Есть ли способ проверить, является ли файл именованным каналом перед его открытием?
Я нашел тот же самый вопрос, используя python: Check if file is a named pipe (fifo) in python? Могу ли я сделать что-то подобное на C++?
Существует также ['S_ISFIFO (st.st_mode)'] (http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/sys_stat.h.html#tag_13_62), который является макросом, который тестов для трубы или специальный файл FIFO. Непонятно, что вы можете отличить трубу от FIFO. –
Спасибо! S_ISFIFO (st.st_mode) - это то, что я искал. – crypton480