Comment puis-je vérifier si un fichier est un fichier en C++?

Comment puis-je vérifier en C++ si un fichier est un fichier normal (et n'est pas un répertoire, d'un tuyau, etc.)? J'ai besoin d'une fonction isFile().

DIR *dp;
struct dirent *dirp;

while ((dirp = readdir(dp)) != NULL) {
if ( isFile(dirp)) {
     cout << "IS A FILE!" << endl;
i++;
}

J'ai essayé de comparer dirp->d_type avec (unsigned char)0x8, mais il ne semble pas portable par le biais de différents systèmes.

InformationsquelleAutor Emilio | 2008-11-30