J'essaye de modéliser une telle situation: mon programme vient de lire la dernière ligne de std :: ifstream (par exemple, pour le fichier texte "data.txt") et fait quelques opérations cela peut prendre beaucoup de temps, donc quelqu'un peut ajouter des lignes supplémentaires au fichier texte. Mon code iciEssayer de rendre std :: ifstream à nouveau ouvert
while (std::getline(fs, str)) // fs is of std::ifstream type, str is std::string
{
//main code
ifs.clear(); // (1)
ifs.setstate(std::ios_base::goodbit); // (2)
}
J'ai un point d'arrêt sur tout ... en ligne et essayer d'ajouter de nouvelles lignes à Data.txt après avoir lu la dernière ligne à partir de là. Mon premier essai a échoué. J'ai essayé d'ajouter (1), (2) ou leur combinaison à mon code afin de rendre eofbit = false, mais j'ai échoué à nouveau. Quoi d'autre peut aider?
vous voulez lire un fichier pendant que quelqu'un d'autre l'écrit? – user463035818
Oui, c'est ça. Plus précisément, il est possible que quelqu'un ait ajouté des lignes dans un fichier au moment où mon programme faisait la section '// code principal', mais il est peu probable que nous utilisions data.txt en même temps. –