Anche così:
codice:
#include <sys/types.h>
#include <sys/stat.h>

int is_file (char *pathname)
{
    struct stat st;

    if (stat (pathname, &st) != 0)
        return 0;

    return st.st_mode & _S_IFREG ? 1 : 0;
}