|
Answer» Hi guys,
I have a problem, I make a program in c in which i write a s.txt text file having all the character VALUE from 1 to 256. then i read the file and TRY to print all the values in another file, but character number 26 is EOS HENCE it breaks at that point. Now i want to read the file till 256 characters. Could some one please help me to solve my issue. program is as follows: Code: [Select]#include<stdio.h> #include<stdlib.h> int main() { int ch,ch1; int i=0,j=0,k=0,i1; FILE *fp,*fs; fp=fopen("s.txt","w"); for(i1=0;i1<256;i1++) { FPRINTF(fp,"%c",i1); } fclose(fp); fp=fopen("s.txt","r"); fs=fopen("ss.txt","w"); while(1) { ch=(int)(fgetc(fp)); if(ch==EOF && j>=1) { fprintf(fs,"%d. %d %c\n",i,ch,ch); break; } else if(ch==EOF && j<1) { fprintf(fs,"%d. %d %c\n",i,26,26); j++; i++; ch=27; } else { fprintf(fs,"%d. %d %c\n",i,ch,ch); i++; } } fclose(fs); fclose(fp); } thanks in advanceI have tried something else Code: [Select]#include<stdio.h> #include<stdlib.h> int main() { int ch; int i=0,j=0,k=0,i1; char BUFFER[257],ch1; FILE *fp,*fs; fp=fopen("s.txt","w"); for(i1=0;i1<256;i1++) { fprintf(fp,"%c",i1); } fclose(fp); fp=fopen("s.txt","r"); fs=fopen("ss.txt","w"); for( i=0;i < 256; i++ ) { ch1=(fgetc(fp)); buffer[i] = ch1; if(i==26) { fprintf(fs,"%d. %d %c\n",i,ch1,26); } else { ch = (int)ch1; fprintf(fs,"%d. %d %c\n",i,ch,ch1); } } fclose(fs); fclose(fp); return 0; } but after getting EOL at 26 it prints EOS till 256 plz help to solve.futher something improved but still after 26 it read and prints EOS. Code: [Select]#include<stdio.h> #include<stdlib.h> int main() { int ch; int i=0,j=0,k=0,i1; char buffer[257],ch1; FILE *fp,*fs; fp=fopen("s.txt","w"); for(i1=0;i1<256;i1++) { fprintf(fp,"%c",i1); } fclose(fp); fp=fopen("s.txt","r"); k = sizeof(fp); printf("%d\n", k); fs=fopen("ss.txt","w"); for( i=0;i < 256; i++ ) { if(i==26) { fprintf(fs,"%d. %d %c\n",i,26,26); } else { ch1=(getc(fp)); buffer[i] = ch1; ch = (int)ch1; fprintf(fs,"%d. %d %c\n",i,ch,ch1); } fprintf(fs,"%c\n",buffer[i]); } fclose(fs); fclose(fp); return 0; }I got the solution :
#include #include int main() { int ch; int i=0,j=0,k=0,i1; FILE *fp,*fs; fp=fopen("s.txt","w"); for(i1=0;i1<256;i1++) { fprintf(fp,"%c",i1); } fclose(fp); fp=fopen("s.txt","rb"); fs=fopen("ss.txt","wb"); while(!feof(fp)) { ch=(int)(fgetc(fp)); fprintf(fs,"%d. %d %c\n",i,ch,ch); i++; } fclose(fs); fclose(fp); return 0; }
|