Как проверить, какие текстовые файлы существуют в каталоге, и получить имена текстовых файлов в этом каталоге на C++.C++ File I/O с несколькими файлами
Моя цель - перечислить текстовые файлы в определенном каталоге и позволить пользователю загружать один из файлов.
Я использую Windows.
Мой последний код выглядит следующим образом:
ListAllTxtFiles(L"C:\\Users\\Tnc\Desktop\\Yazılım Çalışmaları\\Projects\\Oyun Projem\\data\\SaveFiles\\");
void CObjectHandling::ListAllTxtFiles(const wchar_t *Directory)
{
TCHAR Buffer[2048];
wsprintf(Buffer, L"s%*.txt", Directory);//there are security considerations about this function
WIN32_FIND_DATAW FindData;
HANDLE FileHandle = FindFirstFileW(Buffer, &FindData);
if (FileHandle == INVALID_HANDLE_VALUE)
{
printf("Could not find any files..\n");
}
else
{
do
{
printf("Found %s\\%s\n", Directory, FindData.cFileName);
// Do stuff with your text file here...
} while (FindNextFile(FileHandle, &FindData));
CloseHandle(FileHandle);
}
}
Что значит «файлы существуют в файле»? Вы имели в виду, что «файлы существуют в каталоге»? –
Обычно, в Unix, папки каталогов a.k.a. содержат файлы и подкаталоги (подпапки). Файлы содержат данные. Windows имеет множество представлений о файлах в файлах, но это не поддерживается стандартной библиотекой C++ (вы можете использовать Windows API для доступа к таким потокам). Аналогично, старый Mac и, возможно, все еще в OS X, имел представление о «вилках» файла. Я не знаю много об этом, но если он все еще там, вы можете использовать для этого OS X API. Наконец, существует много видов архивов, например. zip, с файлами в одном файле. Это оно? –
Подводя итог, вам необходимо уточнить свой вопрос **. Если это действительно файлы в файлах, то, пожалуйста, укажите конкретное такое понятие (например, Windows, Mac или какой-то архив). Или иначе, используйте общую терминологию, где каталоги никогда не называются файлами. –