[résolu] dossier ou fichier?
Bonjour,
J'ecris un petit programme qui fait un traitement sur une liste de fichiers.
la liste est passée en paramètres dans la ligne de commande qui lance le programme. (une liste de paths vers des fichiers en vérité)
Tout fonctionne a merveille.
Maintenant j'aimerais mettre un test au cas ou un utilisateur distrait (moi) met un path invalide, ou un path vers un dossier et non un fichier. Je fais le test suivant:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
|
int main(int argNum, char *params[])
{
int i;
struct _stat buffer
for(i=1;i<argNum;i++)
{
if(_stat(params[i],&buffer)==-1) //si le path est invalide
{
cout<<"un des paths est invalide\n";
system("pause");
return 0;
}
else if(buffer.st_mode==_S_IFDIR) //si le path est un dossier
{
cout<<"un des paths indique un repertoire\n";
system("pause");
return 0;
}
}
//traitement
//traitement
//traitement
return 0;
} |
si le path est invalide, c'est bon, par contre si le path est un dossier, le teste
Code:
buffer.st_mode==_S_IFDIR
échoue, et mon code s'execute (et plante bien évidemment)
si qqun peut m'aider, merci d'avance