Точки при выводе содержимого каталога - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Здравствуйте. Моя проблема заключается в том, что при выводе содержимого каталога, выводятся так же непонятные точки. С чем это может быть связано? ) Функция:
Листинг программы
  1. void catalog(){
  2. WIN32_FIND_DATA FindFileData;
  3. HANDLE hf;
  4. int result;
  5. //создаем каталог, если не существует
  6. result = mkdir("catalog");
  7. if (result == 0)
  8. printf("Каталог \"Curs10\\catalog\" создан\n");
  9. //Вывод содержимого каталога
  10. printf("Содержимое каталога (Curs10\\catalog):\n");
  11. hf = FindFirstFile(L"catalog\\*", &FindFileData);
  12. if (hf != INVALID_HANDLE_VALUE){
  13. do{
  14. wprintf(L"%s\n", FindFileData.cFileName);
  15. } while (FindNextFile(hf, &FindFileData) != 0);
  16. FindClose(hf);
  17. printf("=====================================\n");
  18. }
  19. }

Решение задачи: «Точки при выводе содержимого каталога»

textual
Листинг программы
  1. if(FindFileData.cFileName[0]!=L'.')
  2.    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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы