#include <stdio.h>
int main(int argc,char **argv)
{
int left=0,right=0;
//文件描述符指向要检查的文件
FILE *fd;
char p;
//命令行判断
if(argc < 2){
fprintf(stderr,"Us....\n");
return -1;
}
//只读打开一个文件
fd =fopen(argv[1],"r");
if(fd == NULL){
fprintf(stderr,"open()failed!\n");
return -1;
}
//看是否到文件结尾
while((p = getc(fd)) != EOF){
if(p == '{')
left++;
if(p == '}')
right++;
else if(left < right){//如果右边括号个数大于左边括号个数,肯定不匹配
printf("不匹配\n");
return -1;
}
}
if(left == right){
printf("匹配\n");
}
//如果不相等可能是{{}这种情况
else
printf("不匹配\n");
return 0;
}