1 #define F_PRINT_ERR(e)\
2 do\
3 {\
4 if(e == NULL)\
5 {\
6 printf("open error");\
7 exit(-1);\
8 }\
9 }\
10 while(0)
11 int main(void)
12 {
13 FILE *pf = fopen("G:/qtcode/smb.conf","r+");
14 F_PRINT_ERR(pf);
15
16 char buf[1024];//配置文件有个不成文的1024规定
17
18 FILE* pfbak = fopen("G:/qtcode/smb.conf.bak","w+");
19
20 if(NULL == pfbak)
21 {
22 fclose(pf);
23 exit(-1);
24 }
25
26 while(fgets(buf,1024,pf))
27 {
28 //去注释行,去空行,去空白行(不过这里的空白行只是简单的空格/制表符+\n而已)
29 //如果有些有效行前面有空白,那么就不能这样写了!
30 if(*buf == '#' || *buf == '\n' || *buf == ' ' || *buf == '\t')
31 {
32 continue;
33 }
34 printf("%s",buf);
35 fputs(buf,pfbak);
36 }
37
38 fclose(pf);
39 fclose(pfbak);
40
41
42 return 0;
43 }