Voilà, j'ai un petit problème avec la fonction g_file_test.
En fait, je programme sous windows et j'utilise cette fonction pour savoir si le nom que me retourne la fonction g_dir_read_name est celui d'un fichier ou d'un dossier.
Le problème, c'ets que lorsque que j'ai un dossier, cela ne semble pas fonctionner
j'ai fait çà :
Code :
- #include <gtk/gtk.h>
- #include <stdio.h>
- /* prototypes des fonctions et actions */
- bool reccur(char *Path);
- /* fonction principale */
- int main()
- {
- /* variables */
- bool success;
- success = reccur("C:\\Test_pather" );
- /* on vérifie qu'il n'y a pas eu d'erreur */
- if (!success)
- {
- puts("Erreur" );
- }
- return 0;
- }
- /* listage d'un repertoire */
- bool reccur(char *Path)
- {
- /* variables */
- GDir* Dossier = g_dir_open(Path,0,NULL);
- const char* Fich_Cour;
- /* on vérifie que le dossier soit ouvert */
- if (Dossier != NULL)
- {
- /* on choppe le premier fichier */
- Fich_Cour = g_dir_read_name(Dossier);
- /* boucle de traitement des fichiers */
- while (Fich_Cour != NULL)
- {
- if (g_file_test(Fich_Cour,G_FILE_TEST_IS_DIR ))
- {
- printf("Dossier : %s\n",Fich_Cour);
- }
- else
- {
- puts(Fich_Cour); /* on affiche le nom */
- }
- Fich_Cour = g_dir_read_name(Dossier); /* on récupère le nom suivant */
- }
- /* on referme le dossier */
- g_dir_close(Dossier);
- /* tout s'est bien passé en théorie */
- return true;
- }
- else
- {
- /* dossier non ouvert */
- return false;
- }
- }
|
je voudrais savoir si l'erreur vient de moi ou si elle viens de gtk.
Sinon, comment je pourrais faire pour savoir si c'ets le nom d'un fichier ou d'un dossier ?
@++