📄 main.c
字号:
/**** main.c *****************************************/
#include "global.h"
int main(int argc,char *argv[])
{
if(argc!=4){
printf("Usage:pro_name -s inputname outname\n\
pro_name -c intputname outname\n");
return 0;
}
if(argv[1][1]!='s' && argv[1][1]!='c'){
printf("Usage:pro_name -s inputname outname\n\
pro_name -c intputname outname\n");
return 0;
}
flags=argv[1][1];
if((fp1=fopen(argv[2],"r"))==NULL){
printf("file %s can not open!\n",argv[2]);
return 0;
}
if((fp2=fopen(argv[3],"w"))==NULL){
printf("%s can not open!\n",argv[3]);
return 0;
}
init();
if(flags=='c'){
while(!feof(fp1)){
parse();
fputc('\n',fp2);
}
}
else {
int length,i,data;
char buf[BSIZE]; //存放字母
allnum=0;
while(!feof(fp1)){
length=1;
while((data=fgetc(fp1))!='\n'){
length++;
if(isalpha(data)){ //当前字符为字母,则判断它是不是MOD和 DIV
i=0; //length记录扫描的字符数
while(isalpha(data)){
buf[i]=data;
i++;
data=fgetc(fp1);
length++;
}
buf[i]='\0';
if(!strcmp(buf,"MOD") || !strcmp(buf,"DIV")) continue;
else {
allnum=1;
length--;
break;
}
}
}
fseek(fp1,-length,SEEK_CUR);//返回行首
if(!allnum) InitStack(&Fig);
parse();
if(!allnum) fprintf(fp2,"%d\n",Pop(&Fig));
else fprintf(fp2,"\n");
allnum=0;
while(!feof(fp1)){
if((data=fgetc(fp1))=='\n') ; //消除多余的回车
else {
ungetc(data,fp1);
break;
}
}
}
DestroyStack(&Fig);
}
fclose(fp1);
fclose(fp2);
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -