int main() {
FILE* f = fopen("result.txt", "r"); FILE* g = fopen("summary.txt", "w");
char line[500]; char cp_line[500]; char *pos; int index, fpos, epos, i, num; while (fgets(line, 256, f) != NULL) {
// コメント部分を除去 strncpy(cp_line,line,strlen(line)+1); cp_line[strlen(cp_line)-1] = '\0'; printf("%s",cp_line);
fprintf(g, "%s", cp_line);
index = 0; if(*1)!=NULL){ fpos = strlen(cp_line) - strlen(pos); // /*の位置 if(*2)!=NULL){ // /* .... */ を削除 epos = strlen(cp_line) - strlen(pos); // */の位置 num = strlen(cp_line) - strlen(pos) - 2; for(i=0;i<num;i++) cp_line[fpos+i] = cp_line[epos+2+i]; cp_line[fpos] = '\0'; }else{ // /* ... を削除 cp_line[fpos] = '\0'; } } if(*3)!=NULL){ fpos = strlen(cp_line) - strlen(pos); // /*の位置 cp_line[fpos] = '\0'; } // コメント部分を削除した後でも、プリプロセッサ命令が // 残って入ればNO、残っていなければOK if( strstr(cp_line,"defined")==NULL && strstr(cp_line,"ifdef")==NULL && strstr(cp_line,"ifndef")==NULL && strstr(cp_line,"elif")==NULL ){ printf("\tNO\n"); }else{ printf("\tNO\n"); }
//fprintf(g, "%s", line); }
fclose(f); fclose(g); return 0;
}