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:
si le path est invalide, c'est bon, par contre si le path est un dossier, le teste
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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; }
échoue, et mon code s'execute (et plante bien évidemment)
Code : Sélectionner tout - Visualiser dans une fenêtre à part buffer.st_mode==_S_IFDIR
si qqun peut m'aider, merci d'avance
Partager