我有一个abc.txt
包含 8000 行的文件。文件结构为:
121220122563841210000000 999.999 999.999 999.999
121220122563841210000000 999.999 999.999 999.999
121220122563841210000000 999.999 999.999 999.999
121220122563841210000000 999.999 999.999 999.999
121220122563841210000000 999.999 999.999 999.999
121220122563841210000000 0.2563 0.25698 2.3658
121220122563841210000000 999.999 999.999 999.999
121220122563841210000000 999.999 999.999 999.999
121220122563841210000000 2.365 2.365894 0.15463
121220122563841210000000 999.999 999.999 999.999
121220122563841210000000 999.999 999.999 999.999
121220122563841220000000 4.2563 6.25698 25.3658
顺序继续。
我需要编写一个程序来读取不包含 999.999 的行。这就是我的做法。我与我读取的值进行了比较,但它给出了完整的文件作为输出。正确的方法是什么?
#include <stdio.h>
int main()
{
FILE *fp,&fp2;
char aa[50];
float a,b,c;
fp=fopen("abc.txt","r");
fp2=fopen("aa.txt","w");
while(!feof(fp))
{
fscanf(fp,"%s %f %f %f",&aa,&a,&b,&c);
if((a!=999.999)&&(b!=999.999)&&(c!=999.999))
fprintf(fp2,"%s %f %f %f",&aa,&a,&b,&c);
}
fclose(fp);
fclose(fp1);
}
当我尝试使用
if((a=999.999)&&(b=999.999)&&(c=999.999))
它只给出包含999.999
但我想要不包含的行。999.999.
忍受我,我是 C 的新手。