Точки при выводе содержимого каталога - 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, которая содержит имя файла, найденного в каталоге.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д