@ФБ-91 Павло Красний да это я не шарил в приколах кодировки, там последняя буква функций findfirst отвечает за это И кстати этот код можно оптимизировать, но это вряд ли кому-то нужно
Дружище, у тебя утечка памяти. Пример: если пустить функцию WriteData по каталогу с 6000 файлами сразу видно, что съедается около 5мб безвозвратно, не очищаясь после выполнения всех рекурсий (см ссылку на скриншот). Я сам в процессе обучения, потому сразу не могу найти причину. Если тебе это интересно и найдешь раньше меня, напиши, пожалуйста. Мне эта функция нужна. yadi.sk/i/2jsKcnG1GW5zJg
В общем, проблема в этих винапевских классах LPWSTR. Я сразу на их и грешил. Зачем усложнять, когда можно сделать просто и это будет надежнее, чем использовать классы хз знает как работающие. Заменил их простым массивом wchar_t в куче, не сложно сообразить в какой части кода их высвободить. В итоге после выполнения функции над той же папкой в куче теперь теряется всего 5 элементов на 160 байт памяти. Как ни думал, не смог найти где, но это уже не критично. Код прилагаю pastebin.com/vp2AcHAa
И последняя доработка. Вначале думал, что это одна из WinApi функций теряет 5 объектов в памяти из-за личных косячков от Microsoft. Но тестируя разные моменты понял, что это не потеря, а это кэширование. Потому что при повторном вызове новая память не выделяется.
@@flarens_ray да, вот в этом и была проблема. В моём случае требовалось вызвать функцию free() в конце цикла do-while. WinAPI за исключением пары уроков пытаюсь писать на чистом С
@@VoidPtr да я много различных вариантов пробовал, всё сводится к тому, что файл ищется только в папке, указанной в изначальном путе, а в подпапки он даже не заходит, не могу уже 2 день поставить, чтобы и в подпапках искал
У меня есть путь к файлу(что-то вроде *\test\test2\text.txt), мне нужно получить полный путь к файлу text.txt. Как я могу это сделать средствами winapi?
@@VoidPtr Это docs.microsoft.com/ru-ru/windows/desktop/api/fileapi/nf-fileapi-getfullpathnamea даёт полный путь к программе, а мне нужен полный путь к конкретному файлу.