Точки при выводе содержимого каталога - 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);

Объяснение кода листинга программы

  1. В условии if (FindFileData.cFileName[0] != L'.') проверяется, является ли первый символ имени файла точкой.
  2. Если условие истинно (то есть первый символ не является точкой), то выполняется команда wprintf(L%s\n, FindFileData.cFileName), которая выводит имя файла на консоль.
  3. wprintf — это функция вывода широких символов.
  4. L%s\n — это форматная строка, в которой %s соответствует месту, где должно быть выведено имя файла, а \n — символ новой строки.
  5. FindFileData.cFileName — это переменная типа wchar_t, которая содержит имя файла, найденного в каталоге.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 3.5 из 5
Похожие ответы