Проверка, является ли файл каталогом или просто файлом [дубликат]

На этот вопрос уже есть ответ здесь:

Я пишу программу, чтобы проверить, является ли что-то файлом или это каталог. Есть ли лучший способ сделать это, чем этот?

#include 

#include 
#include 
#include 

int isFile(const char* name)
{
    DIR* directory = opendir(name);

    if(directory != NULL)
    {
     closedir(directory);
     return 0;
    }

    if(errno == ENOTDIR)
    {
     return 1;
    }

    return -1;
}

int main(void)
{
    const char* file = "./testFile";
    const char* directory = "./";

    printf("Is %s a file? %s.\n", file,
     ((isFile(file) == 1) ? "Yes" : "No"));

    printf("Is %s a directory? %s.\n", directory,
     ((isFile(directory) == 0) ? "Yes" : "No"));

    return 0;
}
28
задан Jookia 29 December 2010 в 09:46
поделиться