#include #include #include #include #include #include #include #include #include #include char base[] = "/usr/ftp/physics/pub/ITERProfileDatabase1998"; int chm=0; char level[250]; char list[1000][20],tok[200],pulse[200]; int count = 0; /***************************************************************/ void sort() {char s[100]; int ref,cur; ref=0; do {cur=ref+1; do {if(strcmp(list[cur],list[ref])<0) {sprintf(s,"%s",list[cur]); sprintf(list[cur],"%s",list[ref]); sprintf(list[ref],"%s",s); cur = ref; } cur++; } while(cur < count); ref++; } while(refd_name))!=NULL) {closedir(dir2); if(dp->d_name[0] != '.' && strcmp(dp->d_name,"software")!= 0 && strcmp(dp->d_name,"documents")!= 0 && strcmp(dp->d_name,"scripts")!= 0 && strcmp(dp->d_name,"review_sheets")!= 0 ) {if(offset==0) sprintf(level,"%s",dp->d_name); else sprintf(list[count++],"%s/%s",level,dp->d_name); scan_dir(dp->d_name,offset + 1); } } } closedir(dir); chdir(".."); } /**********************************************************************************/ char *left(char *ptr) {char *p, *qq; p = strdup(ptr); qq = p; while(*qq && *qq != ' ' && *qq != '\r' && *qq != '\n' && *qq != '\t') qq++; *qq = '\0'; return(p); } /**********************************************************************************/ void ltrim(char *str) {char *p,*qc; p= &str[0];qc=p; while((*p==' '||*p=='\t'||*p=='\r'||*p=='\n') && *p) p++; while(*p)*qc++ = *p++; *qc='\0'; } /***************************************************************/ main(int argc,char *argv[]) {int i,rec,cur_list; FILE *file,*file_tok=NULL,*file_all; char path[250],*p,*q,str[250],recrd[12][250],head[12][200]; char cur_tok[200],cur_dir[250]; char title[3][200]; getwd(cur_dir); scan_dir(base,0); chdir(cur_dir); sort(); /*-- GET HEADING (VARIABLE NAMES) IN TOKAMAK_0D.DAT -------*/ sprintf(path,"%s/PR98_tokamak_0d.dat",base); file=fopen(path,"r"); if(file==NULL){fprintf(stdout,"Cannot open PR98_tokamak_od.dat\n");return;} for(i=0;i<12;i++) {fgets(str,250,file);ltrim(str); while(!feof(file) && str[0] == '\0') {fgets(str,250,file);ltrim(str);} if(feof(file))break; sprintf(head[i],"%s",str); } fclose(file); /*-- CREATE NEW tokamak_0d.dat -------*/ file_all=fopen(path,"w"); if(file_all==NULL){fprintf(stdout,"Cannot create PR98_tokamak_0d.dat\n");return;} for(i=0;i<3;i++)fprintf(file_all,"%s",title[i]); /* Writes PR98 lines */ for(i=0;i<12;i++)fprintf(file_all,"%s",head[i]); fprintf(stdout,"Creating: tokamak_0d.dat\n"); cur_tok[0]='\0'; for(cur_list=0;cur_list 0 && i < 12)fprintf(stdout,"Error in file:%s\n",path); if(i==12) {ltrim(recrd[0]); if(strcmp(left(recrd[0]),"TOK")!=0) {for(i=0;i<12;i++) {fprintf(file_all,"%s",recrd[i]); fprintf(file_tok,"%s",recrd[i]); } } } } fclose(file); } } if(file_tok != NULL)fclose(file_tok); fclose(file_all); }