C语言怎么实现读取txt文件中指定的数据?

编写一个进程监视的程序,当指定进程所占用的内存大于设定的界线时,关掉这个进程。用Tasklist命令把进程列表输出到一个txt文件,现在要读取这个文件里的特定进程的内存大小赋给一个变量。

可以用fscanf读取后 再判断

比如

char name[100];
int a,b,stack_size;
FILE *fp;
fp = fopen("task.txt", "r");//假定存在这个文件中。 
while(~fscanf("%s%*d%*s%*d%d,%d K",name, &a,&b))
    if(strcmp(name, "QQ.exe") == 0) break;//找到一个就退出。 å¦‚果要多个,可以自行优化。
stack_size=a*1000+b;//KBytes
...//处理
fclose(fp);追问

我按照你的这个框架写了,但每次读出来的都是最后一行的实际内存,跟我需要监视的进程不一样

追答

可以把每个读到的name,a b的值打印出来,看看哪里错了

追问

都打印出来是name错了,一直是最后一个进程的名字。

while (~fscanf(fp1,"%s%*d%*s%*d%d,%d K",name,&a1,&b1))

if(strcmp(name,str_jincheng1.c_str())==0) break ;

说明这个语句并没有筛选出希望监视的进程。

追答

你打印加在循环外面,当然一直是最后一个了。。。

温馨提示:答案为网友推荐,仅供参考