Friday, May 21, 2010

My C program is okay but dont proper run...pl check it and 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 proper run...pl check it and it has bit error...reply me ASAP..?
Your question is poorly phrased, but I have two thoughts:








Try changing this line:





puts("File copy was successful");





to





printf("File copy was successful\n");








The other thing is that you've got two calls to getchar() in your copy_file() function. So, probably your program sits there waiting for you to hit the enter key or something. Is that what you wanted?

garden flowers

No comments:

Post a Comment