Dado un archivo y un número de línea n, la tarea es eliminar la línea n del archivo de texto dado.
Supongamos que el contenido inicial de myfile.txt es:
GeeksforGeeks GeeksforGeeks IDE GeeksforGeeks Practice GeeksforGeeks Contribute
Después de la eliminación de la línea 2 , el contenido sería:
GeeksforGeeks GeeksforGeeks IDE GeeksforGeeks Contribute
Enfoque:
1) Abra el archivo fuente en modo de entrada y léalo carácter por carácter.
2) Abra otro archivo en modo de salida y coloque el contenido en el archivo carácter por carácter.
3) Cambie el nombre del otro archivo al archivo de origen.
// C++ Program to delete the given // line number from a file #include <bits/stdc++.h> using namespace std; // Delete n-th line from given file void delete_line(const char *file_name, int n) { // open file in read mode or in mode ifstream is(file_name); // open file in write mode or out mode ofstream ofs; ofs.open("temp.txt", ofstream::out); // loop getting single characters char c; int line_no = 1; while (is.get(c)) { // if a newline character if (c == '\n') line_no++; // file content not to be deleted if (line_no != n) ofs << c; } // closing output file ofs.close(); // closing input file is.close(); // remove the original file remove(file_name); // rename the file rename("temp.txt", file_name); } // Driver code int main() { int n = 3; delete_line("a.txt", n); return 0; }
Note: Run this code offline IDE keep text file name as "a.txt" in same folder
Publicación traducida automáticamente
Artículo escrito por nickhilrawat y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA