Возможно, вы захотите взглянуть на fstat () из стандартной библиотеки.
Это позволяет вам быстро проверить наличие и отсутствие файла и действовать в соответствии с этим.
в основном вам нужно:
#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
....
struct stat s;
stat( "/pat/to/node" , &s );
if ( IS_BLK(s.st_mode) ) {
/* the file exists and is a block device */
}
Это не элегантное решение, но отвечает на ваш вопрос.
Код, возможно, нуждается в некоторой настройке, потому что я не пробовал, но он должен сделать свое дело.
Приветствие.