|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Feb 2002
Messaggi: 906
|
[C++] Directory stringa
ciao
Ho fatto questo: 1. HANDLE hFindFile = FindFirstFile(L"Sfx\\*.mp3", &finddata); devo ricercare in dir tutti i file ma se metto *.* non trova nulla allora sono costretto a fare 3 for per ,wav, .mid e .mp3 sapete come fare per un unica passata? io uso un do tipo: WIN32_FIND_DATA finddata; HANDLE hFindFile = FindFirstFileW(L"Sfx\\*.mp3", &finddata); do { } while (FindNextFile(hFindFile, &finddata)); 2. Invece questo come posso addizionare alla stringa "*.mp3*" vorrei fare esempio: CHAR strSoundPath[MAX_PATH]; GetCurrentDirectoryA(MAX_PATH, strSoundPath); strcat(strSoundPath, "\\Sfx"); //Convert the path to unicode. WCHAR wstrSoundPath[MAX_PATH]; MultiByteToWideChar(CP_ACP, 0, strSoundPath, -1, wstrSoundPath, MAX_PATH); WIN32_FIND_DATA finddata; //ECCO QUESTA SOTTO per esmpio HANDLE hFindFile = FindFirstFile(strSoundPath +"*.mp3", &finddata); --------------- ciao cionci grazie per la risposta all'altro tread era una che avevo fatto come routine e non ricordavo della sua utilità il tread era: [C++]Buffer di tastiera...? |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Feb 2002
Messaggi: 906
|
Nella dir ho 4 mp3
Ecco ci sono quasi riuscito ma nel file log.txt mi stampa 4 dir invece vorrei stampare solo i nomi dei file trovati questo è il codice: WIN32_FIND_DATA finddata; HANDLE hFindFile = FindFirstFile(wstrSoundPath, &finddata); do { MultiByteToWideChar(CP_ACP, 0, strSoundPath, -1, finddata.cFileName, MAX_PATH); WriteToLog(strSoundPath); } while (FindNextFile(hFindFile, &finddata)); |
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Feb 2002
Messaggi: 906
|
Ecco avrei concluso ma Nom ha segni strani.........
questo è il codice WCHAR NomeFile[MAX_PATH]; CHAR Nom[250]; do { wcscpy(NomeFile, finddata.cFileName); MultiByteToWideChar(CP_ACP, 0, Nom, -1, NomeFile, 0); } while (FindNextFile(hFindFile, &finddata)); PURTROPPO Nom contiene tutti segni strani questo è ASSURDO |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 11:59.