给定一个文件和行号n,任务是删除n th 来自给定文本文件的行。 假设 我的文件。txt 是:
null
GeeksforGeeks GeeksforGeeks IDE GeeksforGeeks Practice GeeksforGeeks Contribute
删除 第2行 内容将是:
GeeksforGeeks GeeksforGeeks IDE GeeksforGeeks Contribute
方法: 1) 在输入模式下打开源文件,逐字读取。 2) 在输出模式下打开另一个文件,并逐个字符地将内容放入文件中。 3) 将另一个文件重命名为源文件。
// 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 == '' ) 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
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END