J'essaie d'apprendre glib/gtk. J'ai écrit peu de code qui imprime des fichiers dans le répertoire et assigne "f" si ce sont des fichiers normaux ou "d" s'ils sont des répertoires. Le problème est avec si. Il obtient toujours une fausse valeur et ajoute "f" au nom du fichier.Problème avec g_file_test dans glib
#include <glib.h>
#include <glib/gstdio.h>
#include <glib/gprintf.h>
int main()
{
GDir* home = NULL;
GError* error = NULL;
gchar* file = "a";
home = g_dir_open("/home/stamp", 0, &error);
while (file != NULL)
{
file = g_dir_read_name(home);
if (g_file_test(file, G_FILE_TEST_IS_DIR))
{
g_printf("%s: d\n", file);
} else {
g_printf("%s: f\n", file);
}
}
}
merci cela a fonctionné – GeekDaddy
N'oubliez pas 'g_free (fileWithFullPath);'. –
@mu est trop court, merci! – swatkat