Hello

Quelqu'un peux t'il m'expliquer comment cela se fait:
Je suis sur linux et j'ai un programme qui lis un fichier à l'aide d'un ifstream.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
ifstream input("fichier.txt");
string ligne;
while (1)
{
  while(getline(input, ligne))
  {
    cout << "Ligne lue [" << ligne << "]." << endl;
    sleep(3);
    input.sync();
  }
}
Je ralentis la lecture avec le sleep pour avoir le temp de faire un RM de fichier.txt alors qu'il reste encore des lignes à lire.
Et bin ce prog continue à lire ces lignes (pourtant je synchronise à chaque coup).
Comment y fait? le sync() ne remais pas à jour le buffer?
Comment puis-je détecter la disparition du fichier? (parce que c'est surtout ca qui m'interesse)