Я пытаюсь создать приложение на C++, которое будет искать все .wav-файлы на диске (включая все вложенные папки и их подпапки и т. Д.), Поиск всего диска, например, поиск антивируса на Avast и т. д.) и сохранить их в строке и сохранить в текстовый файл позже. У меня возникли проблемы, когда я выяснил, как это сделать, и я мог бы использовать некоторую помощь.C++ Найти все файлы .wav
Это то, что я сделал до сих пор, это только поиск в корневой папке диска C, и я не знаю, что делать сейчас. Я знаю, что я должен использовать какой-то цикл, но я не знаю, как на самом деле это сделать, нет логического способа, который я могу придумать.
void finddata()
{
MessageBox(NULL, "finddata called", "Started", MB_OK | MB_ICONINFORMATION);
WIN32_FIND_DATA FindFileData; // A pointer to the WIN32_FIND_DATA structure that receives information about a found file or directory.
HANDLE hFind; // Used to check the return value
hFind = FindFirstFile("C://*.wav", &FindFileData);
if(hFind == INVALID_HANDLE_VALUE)
{
MessageBox(NULL, "INVALID_HANDLE_VALUE", "Failed", MB_OK | MB_ICONINFORMATION);
}
else
{
string file;
file = FindFileData.cFileName;
file.append("|");
MessageBox(NULL, file.c_str(), "YO", MB_OK | MB_ICONASTERISK); // string.c_str() to conv to LPCSTR
FindClose(hFind);
}
}
MessageBox в конце как раз там как тест, я удалю его позже. В настоящее время я изучаю C++, и это своего рода проект для новичков, поэтому я могу повесить его.
Кроме того, существуют ли ограничения по размеру для строкового типа данных? Благодарю.
Вы используете окна в ОС? –
Вы можете использовать std :: string :: max_size, чтобы увидеть максимальный размер строки std. –
Да, Windows 7 64-разрядная –