Salut! j'aimerais savoir s'il existe une fonction qui permet d'effacer une ligne d'un fichier en c++ ou comment le faire voici ce que j'ai écrit mais çà ne marche pas.
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
16
17
18
19
20
21
void Efacer_Ligne(string MonFichier, int LigneASuppimer)
{
    string Buffer = ""; //Variable contenant le texte à réécrire dans le fichier
    ifstream fichier(MonFichier.c_str(),ios :: in);// on ouvre le fichier en mode lecture
    if (fichier) //Si le fichier est trouvé
    {
        string ligne;
        int Ligne = 0;
        while ( getline( fichier, ligne ) ) //on parcours le fichier et on initialise ligne à la ligne actuelle
        {
            Ligne++;
            if(Ligne != LigneASuppimer) //Si la ligne atteinte est différente de la ligne à supprimer...
                Buffer += ligne + "\n"; //On ajoute le contenu de la ligne dans le contenu à réécrire
        }
    }
    fichier.close(); //On ferme le fichier en lecture
 
    ofstream fichier( MonFichier.c_str,ios :: out | ios :: app ); //On ouvre ce même fichier en écriture
    fichier << Buffer; //On écris le texte dedans
    fichier.close(); //et on ferme le fichier
}