C++ observ dossier avec WaitForSingleObject()

Fermé
pierre - Modifié par pierre le 31/05/2012 à 13:56
Bonjour,

J'ai un problème assez simple, je souhaite observer un dossier H24 7j/7 avec une fonction qui n'utilise pas trop de ressources... j'ai fais un boucle itérative qui observe un dossier et qui s'arrête quand elle arrive a ouvrir un fichier txt puis affiche son contenu:

#include <cstdlib> 
#include <fstream> 
#include <iostream> 


using namespace std; 

int main() 
{ 
    cout << "Ready !" << endl; 
    bool OPEN=0; 
    string buffer, temp; 

    while(OPEN==0) 
    { 
        ifstream file ("C:/Users/Pierre/Desktop/Projet Manager/out.txt", ios::in); 
        if(file) 
        { 
            OPEN=1; 
            std::getline(file, buffer); 
        } 
    } 

    cout << buffer << endl; 


    return 0; 
} 


Seulement voila, pendant la "surveillance" du dossier le programme charge le CPU (a cause de la boucle et le manque de wait ou sleep...) mais je voudrais savoir si il n'est pas possible de faire attendre la fonction jusqu'à ce qu'un document arrive plutôt que de vérifier tout le temps ça présence ? je suppose que c'est possible en utilisant la fonction WaitForSingleObject(), Cependant je n'arrive pas a l'utiliser correctement.
Quelqu'un saurait l'utiliser et pourrait me fournir un exemple concret ?

Cordialement,
Pierre