1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
| #include <string>
#include <fstream>
void Erase_Line(char* File, int Line_to_Erase)
{
std::string Buffer = ""; //Variable contenant le texte à réécrire dans le fichier
std::ifstream ReadFile( File);
if (ReadFile) //Si le fichier est trouvé
{
std::string line;
int Line = 0;
while ( std::getline( ReadFile, line ) ) //on parcours le fichier et on initialise line à la ligne actuelle
{
Line++;
if(Line != Line_to_Erase) //Si la ligne atteinte est différente de la ligne à supprimer...
Buffer += line + "\n"; //On ajoute le contenu de la ligne dans le contenu à réécrire
}
}
ReadFile.close(); //On ferme le fichier en lecture
std::ofstream WriteFile( File ); //On ouvre ce même fichier en écriture
WriteFile << Buffer; //On écris le texte dedans
WriteFile.close(); //et on ferme le fichier
}
int main()
{
Erase_Line("file.txt", 1); //Suppression de la 5eme ligne de file.txt
return 0;
} |
Partager