Inekman a écrit :
Yop,
Je cherche un moyen de savoir si un nom de fichier saisi dans une zone de texte est valide ou non.
J'ai essayé différentes méthodes, dont celle consistant à créer un "path" composé du répertoire et du nom de fichier et de faire un fopen dessus pour voir si le fichier est créé ou non. Mais me suis rendu compte que si on saisissait "..\test" en nom de fichier, ben ça passe et le fichier est créé dans le dossier parent Un autre truc auquel j'ai pensé, c'est filtrer directement la saisie clavier en interceptant les messages de l'api pour voir quelles sont les touches pressées. Et si la touche fait partie des caractères interdits et bien on stop l'envoi du message. Je sais faire ça sous Delphi et ça marche bien mais en C/Win32 je sèche.
Des idées ?
|
Regarde du cote des fonctions access() ou stat() (enfin ca a la base c'est plutot un syscall sous unix) ca t'evitera de te faire chier a coup de verification dans ta textbox, parce qu'au moins ca ne creera pas le fichier s'il existe pas (cela dit c'est une option de fopen ca aussi, je me souviens plus parce que j'utilise qu'open() sous unix, mais je dirais que le "+" que tu passes en parametre dit a fopen que si le fichier existe pas, il le cree.)
bref teste un truc genre if (stat(tonfilenamedanstatextbox, &tastructurestatjusteaudessus)) {blablapasdefichier}
MeiK