www.pudn.com > 文件恢复及修补 C 语言源程序.zip > CC.C
/**************************************************************** * * * C P R I N T * * * * C Source Function Paren and Bracket Checker * * * * T. Jennings * * * * * ****************************************************************/ #include#include main(argc,argv) int argc; char **argv; { int file; char c,lastc; int parens,brackets,comments; int line, col; char hdr[40]; file= _xopen(argv[1],0); if (file == -1) { cprintf("File missing. Try CC \r\n"); exit(); } brackets= parens= comments= 0; line= 0; col= 0; lastc= '\0'; while (_xread(file,&c,1)) { if (col == 0) { sprintf(hdr,"%d: {%d} (%d) /*%d*/",line,brackets,parens,comments); while (strlen(hdr) < 23) strcat(hdr," "); cprintf("%s|",hdr); } if (c == '{') ++brackets; if (c == '(') ++parens; if (c == '}') --brackets; if (c == ')') --parens; if ((c == '*') && (lastc == '/')) ++comments; if ((c == '/') && (lastc == '*')) --comments; ++col; if (c == 0x0a) { col= 0; ++line; } _xwrite(1,&c,1); lastc= c; } cprintf("\r\n\r\n"); if (brackets) cprintf("Unbalanced brackets\r\n"); if (parens) cprintf("Unbalanced parenthesis\r\n"); if (comments) cprintf("Unbalanced comments\r\n"); }