您的位置:首页 > 编程语言 > C语言/C++

如何用c语言筛选出txt中含有指定字符串的数据?

2018-03-10 20:58 323 查看
比如我有一个txt,里面的数据是
M3545 1111 222 4333
M1308 1134 433 2222
......
开头的五个字符下面都有很多重复的,我想从中筛选中所有开头为“M3545”的行,并存入另一个txt中,于是写了下面的程序:

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int main()
{
FILE *fp1,*fp2;
char num[128];
if((fp1=fopen("filename1.txt","r"))==NULL)
{
printf("cannot open fp1");
exit(0);
}
if((fp2=fopen("filename2.txt","w"))==NULL)
{
printf("cannot open fp2");
exit(0);
}
fgets(num,128,fp1);
while(fgets(num,128,fp1)>0) 
{
char s[128]={0},a[100]={0},e[6]={' ','M','3','5','4','5'};
int i=0,n=0;
strncpy(s,num,6);
if(strcmp(s,e)==0)
strcpy(a,num);
fputs(a,fp2);
}
fclose(fp1);
fclose(fp2);
return 0;

}
可是为什么运行后得到的结果就是把第一行无限重复了QAQ
求指点!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c c语言
相关文章推荐