开发平台(Platform): (Ex: Win10, Linux, ...)
CentOS
编译器(Ex: GCC, clang, VC++...)+目标环境(跟开发平台不同的话需列出)
GCC
问题(Question):
最近写程式时,碰到在sub block做fopen,然后找到指定关键字后回传
我是这样写的
#include<stdlib.h>
#include<stdio.h>
int main(){
int status=-1;
status=sub_test("test");
printf("Status is %d\n",status);
return 0;
}
int sub_test(char *filename){
fid_rd=fopen(filename,"r");
while(fscanf(fid_rd,"%s",&tmp)!=NULL){
if(strcmp("PASS",tmp)==0)
return 1;
}
fclose(fid_rd);
return 0;
}
这边这样写,在编译不会有问题,但是最近总觉得怪,档案还没被关闭就return回主程式
这样真的不会造成内存的浪费吗?有没有人可以教我一下该怎么去观察内存使用状况?
我在想是不是改成以下这种写法比较好?
int status=0;
while(fscanf(fid_rd,"%s",&tmp)!=NULL){
if(strcmp("PASS",tmp)==0){
status=1;
break;
}
}
fclose(fid_rd);
return status;
再麻烦高手解答了,感谢