Я пытаюсь выучить glib / gtk.Я написал небольшой код, который печатает файлы в каталоге и назначает «f», если они являются обычными файлами, или «d», если они являются каталогом.Проблема в том, если.Он всегда получает ложное значение и добавляет «f» к имени файла.
#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);
}
}
}