Friday, May 21, 2010

My C program is okay...but dont run proper...pl check it...it has bit error....REPLY ME ASAP.........?

Program has no error but when it run then doesn't give output... You ca check it.











#include%26lt;stdlib.h%26gt;


#include%26lt;stdio.h%26gt;





int copy_file(char *Old, char *New);





int main (void)


{


char source[1024], destination[1024];





/*get source file name*/


printf("\nplease enter the source file name: ");


gets(source);


/*get destination file name*/


printf("\nplease enter the destination file name: ");


gets(destination);





/*check value returned by copy function, if any other*/


/*vlaue other than 0 is returned error message is displayed*/


if (copy_file(source, destination) ==0)


puts("File copy was successful");


else


fprintf(stderr, "Error trying to copy file!");





return 0;


}


int copy_file(char *Old, char *New)


{


FILE *fo, *fn;


int read, written;





/*open source file for reading in binary mode*/


/*if fopen gives a NULL character -1 is returned*/


/*main and error message displayed*/


if((fo=fopen(Old, "rb"))==NULL)


return -1;





/*open the destination file in binary writting mode*/


/*if fopen returns NULL source file is closed, the value*/


/*-1 is returned to main and error message is displayed*/


if((fn = fopen(New, "wb"))==NULL)


{


fclose(fo);


return -1;


}





/*read from source file in blocks of 1024, if the end of*/


/* the source file has not been reached, write the block to*/


/*the destination file.*/





while (1)


{


read = fread(Old, 1, 1024, fo);


getchar();


written = fwrite(Old, 1, read, fn);


getchar();





if(!feof(fo))


fputc(written, fn);


else


break;


}





fclose(fo);


fclose(fn);





return 0;





}

My C program is okay...but dont run proper...pl check it...it has bit error....REPLY ME ASAP.........?
This comes up a lot on the Google newsgroup comp.lang.c.





Try fflush(stdout) or fflush(stderr) before the return from main( ), or add a trailing newline character to the last output messages.


No comments:

Post a Comment