- 论坛徽章:
- 0
|
我有一个两个txt文件一个是配置文件,还有一个是要比较文件内容如下:
peizhi.txt usedpercent
/dev/cciss/c0d0p1 90 /dev/cciss/c0d0p1 53
/dev/cciss/c0d0p2 90 /dev/cciss/c0d0p2 6
none 90 none 0
/dev/cciss/c0d0p3 90 /dev/cciss/c0d0p3 24
/dev/cciss/c0d0p5 90 /dev/cciss/c0d0p5 9
我的思路是两者两个txt文件里的内容都放入结构体中,先用strstr寻找配置文件中的盘符有和比较文件相同的话就输出。
先是这个,但程序出了一点问题,给高手看看
#include <sys/types.h>
#include <unistd.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
struct type
{char disk[100];
int percent;
}type1;
struct peizhi
{char diskpz[100];
int percentpz;
}peizhi1;
char *same;
int main(int argc, char* argv[])
{
FILE *read_in;
FILE *read_peizhi;
char buf[1024];
struct type *p;
struct peizhi *l;
p=&type1;
l=&peizhi1;
read_in=fopen("used_percent.txt","r" );
while (!feof(read_in)){
fscanf(read_in,"%s %d",&(type1.disk),&(type1.percent));
}
read_peizhi=fopen("peizhi.txt","r" );
while (!feof(read_peizhi)){
fscanf(read_peizhi,"%s %d",&(peizhi1.diskpz),&(peizhi1.percentpz));
}
same=strstr((*p).disk,(*l).diskpz);
if(same)
printf("%s\n",same);
else
printf("Not Found!");
getchar();
return 0;
}
注:数据读入结构体均正确 |
|