#include #include #include #include int main(void) { /////////////////////////////////////////// // initial part // /////////////////////////////////////////// char in[100],out[100]; char c1,c2; int i,j,s,count[256][256]={0}; FILE *fin; FILE *fout; /////////////////////////////////////////// // input part // /////////////////////////////////////////// printf("Read the file:\n"); scanf("%s",in); printf("Output file:\n"); scanf("%s",out); fin=fopen(in,"r"); /////////////////////////////////////////// // main part // // // /////////////////////////////////////////// if((fscanf(fin,"%c",&c1))!=-1) { while((fscanf(fin,"%c",&c2))!=-1) { if((int)c2>0 || (int)c2==0) { count[(int)c1][(int)c2]++; c1=c2; } } } /////////////////////////////////////////// // Output to file // // // /////////////////////////////////////////// fout=fopen(out,"w"); s=0; for(i=0;i<256;i++) { for(j=0;j<256;j++) { if(count[i][j]!=0) s++; } } fprintf(fout,"%d\n",s); for(i=0;i<256;i++) { for(j=0;j<256;j++) { if(count[i][j]!=0) { if(i>31 && i<255 && j>31 && j<255) fprintf(fout,"%c\t%c\t%d\n",i,j,count[i][j]); else if(i>31 && i<255) fprintf(fout,"%c\t\t%d\n",i,count[i][j]); else if(j>31 && j<255) fprintf(fout,"\t%c\t%d\n",j,count[i][j]); else fprintf(fout,"\t\t%d\n",count[i][j]); } } } fclose(fout); fclose(fin); return 0; }