Skip to content

Commit

Permalink
Update judge_client.cc
Browse files Browse the repository at this point in the history
  • Loading branch information
zhblue authored Sep 23, 2024
1 parent a7dffad commit ce65d52
Showing 1 changed file with 12 additions and 9 deletions.
21 changes: 12 additions & 9 deletions trunk/core/judge_client/judge_client.cc
Original file line number Diff line number Diff line change
Expand Up @@ -2733,32 +2733,36 @@ float raw_text_judge( char *infile, char *outfile, char *userfile, float *total_
fclose(in);
FILE *out=fopen(outfile,"r");
int num=0;
char * user_answer=(char * )malloc(4096);
size_t user_length=4095;
size_t ans_length=4095;
char * user_answer=NULL;
size_t user_length;
size_t buf_length;
size_t ans_length;
float m[total+1];
char * ans[total+1];
*total_mark=0;
for(int i=1;i<=total;i++){
ans[i]=(char *)malloc(4096);
ans[i]=NULL;
buf_length=0;
if(fscanf(out,"%d",&num)!=1) return -2;
if(i==num){
if(fscanf(out,"%*[^\[][%f]",&m[num])!=1) return -3;
*total_mark+=m[num];
ans_length=getline(&ans[i],&ans_length,out);
ans_length=getline(&ans[i],&buf_length,out);
for(int j=ans_length-1;'\n'==ans[i][j]||'\r'==ans[i][j];j--){
ans[i][j]='\0';
trim(ans[i]);
}
trim(ans[i]);
}else{
}
}
fclose(out);
FILE *user=fopen(userfile,"r");
FILE *df=fopen("diff.out","a");
for(int i=1;i<=total;i++){
user_answer=NULL;
buf_length=0;
if(fscanf(user,"%d",&num)==EOF) continue;
user_length=getline(&user_answer,&user_length,user);
user_length=getline(&user_answer,&buf_length,user);
int j=0;
for(j=user_length-1;'\n'==user_answer[j]||'\r'==user_answer[j];j--){
user_answer[j]='\0';
Expand All @@ -2775,10 +2779,9 @@ float raw_text_judge( char *infile, char *outfile, char *userfile, float *total_
break;
}
}
for(int i=1;i<=total;i++){
for(int i=1;i<=total;i++){
free(ans[i]);
}

free(user_answer);
fclose(user);
fclose(df);
Expand Down

0 comments on commit ce65d52

Please sign in to comment.