salut
j'ai un fichier .csv qui contient 27000 ligne et je veux suprrimer les ligne 4,5,6
ça fonction avec le code que j'ai mais ça prend presque 2min pour s'exécuté
y'a t'il unmoyenne pour minimiser le temps de l'execution
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
22
23
24
25
26
27
28
29
30
31
32
33
34 #include <string> #include <fstream> void Erase_Line1(char* z, int Line_to_Erase) { std::string Buffer = ""; //Variable contenant le texte à réécrire dans le fichier std::ifstream ReadFile( z); 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( z); //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_Line1("z.txt", 4); Erase_Line1("z.txt", 4); Erase_Line1("z.txt", 4); return 0; }
Partager