Точки при выводе содержимого каталога - C (СИ)
Формулировка задачи:
Здравствуйте.
Моя проблема заключается в том, что при выводе содержимого каталога, выводятся так же непонятные точки. С чем это может быть связано?
)
Функция:
void catalog(){ WIN32_FIND_DATA FindFileData; HANDLE hf; int result; //создаем каталог, если не существует result = mkdir("catalog"); if (result == 0) printf("Каталог \"Curs10\\catalog\" создан\n"); //Вывод содержимого каталога printf("Содержимое каталога (Curs10\\catalog):\n"); hf = FindFirstFile(L"catalog\\*", &FindFileData); if (hf != INVALID_HANDLE_VALUE){ do{ wprintf(L"%s\n", FindFileData.cFileName); } while (FindNextFile(hf, &FindFileData) != 0); FindClose(hf); printf("=====================================\n"); } }
Решение задачи: «Точки при выводе содержимого каталога»
textual
Листинг программы
if(FindFileData.cFileName[0]!=L'.') wprintf(L"%s\n", FindFileData.cFileName);
Объяснение кода листинга программы
- В условии if (FindFileData.cFileName[0] != L'.') проверяется, является ли первый символ имени файла точкой.
- Если условие истинно (то есть первый символ не является точкой), то выполняется команда wprintf(L
%s\n
, FindFileData.cFileName), которая выводит имя файла на консоль. - wprintf — это функция вывода широких символов.
- L
%s\n
— это форматная строка, в которой %s соответствует месту, где должно быть выведено имя файла, а \n — символ новой строки. - FindFileData.cFileName — это переменная типа wchar_t, которая содержит имя файла, найденного в каталоге.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д