Salut,
Dans une bouche while je cherche a récupérer la liste de fichiers se trouvant dans un répertoire précis. Pour cela j’exécute toutes les n secondes une fonction puis un sleep. Ca marche presque bien, sauf qu'en affichant les résultats je remarque un comportement étrange : on dirait qu'il y a deux vectors. Je m'explique. C'est a dire qu'en affichant la size du vector cette dernière alterne une fois sur deux exactement. Le vector n'est pas remplacé, il est dupliqué. Mais regroupees ensemble, les information des deux vectors sont completes et correctes !
Exemple, quand j'ajoute un fichier dans le repertoire ca peut etre n'importe lequel des deux qui le prend en compte. Voici le resultat. Bon en l'occurrence le second est a zero parce que j'ai pris la capture sans rien ajouter.
Le code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 std::vector<Picture> vecPictures(0); tstring directory = _T("C:\\temp\\*"); while(true){ capturePictures(vecPictures, directory); for(size_t i =0; i < vecPictures.size(); i++ ){ tcout << vecPictures[i] <<std::endl; } std::cout << "Taille du vecteur : "; std::cout << vecPictures.size() << std::endl; std::cout << "" << std::endl; std::cout.flush(); ::Sleep(1000); }
Partager