从包含输入单词的文件中删除一行

时间:2015-02-19 17:52:19

标签: c file line

我一直试图删除一个文件(.txt)中的整行,其中一行包含数字(例如'1234'),使用C.这个数字是通过scanf输入给出的。

请注意,该行包含空格,例如:Bob 1234 Apple Tree

我想知道是否有人可以向我解释一种可以有效运作的方法。

感谢。

1 个答案:

答案 0 :(得分:1)

我希望这可以帮助你开始:

char *in_file, *out_file, line[255];
FILE *fp1, *fp2;

in_file  = "input.txt";
out_file = "output.txt";

fp1 = fopen( in_file, "r" );
fp2 = fopen( out_file, "w" );

while ( fgets( line, sizeof( line ), fp1 ) != NULL ) {
  if ( strstr( line, "1234" ) ) {
     fputs( line, fp2 );
  }
}

fclose( fp2 );
fclose( fp1 );