从包含输入单词的文件中删除一行
Removing a line from file that contains an inputted word
我一直在尝试使用 C 删除文件 (.txt) 中的整行,其中一行包含数字(例如“1234”)。数字是通过 scanf 输入给出的。
注意该行包含空格,例如:Bob 1234 Apple Tree
我想知道是否有人可以向我解释一个有效的方法。
谢谢。
希望这对您有所帮助:
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 );
我一直在尝试使用 C 删除文件 (.txt) 中的整行,其中一行包含数字(例如“1234”)。数字是通过 scanf 输入给出的。
注意该行包含空格,例如:Bob 1234 Apple Tree
我想知道是否有人可以向我解释一个有效的方法。
谢谢。
希望这对您有所帮助:
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 );