从文件中删除给定行号的行的程序

给定一个文件和行号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
喜欢就支持一下吧
点赞6 分享