From: "John M. Aldrich" Newsgroups: comp.os.msdos.djgpp Subject: Re: Plz help newbie on file i/o Date: Sun, 26 Jan 1997 13:58:59 -0800 Organization: Two pounds of chaos and a pinch of salt Lines: 69 Message-ID: <32EBD3A3.7012@cs.com> References: <01bc0b81$9380a6a0$e8718ea1 AT a> Reply-To: fighteer AT cs DOT com NNTP-Posting-Host: ppp211.cs.com Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp LSC wrote: > > Hi, I'm new to DJGPP and C/C++. I needs to write an text editor that > needs file I/O. Can someone please post a simple program that reads a file > and write to a file. Any help would be greatly appreciated. The following simple program copies one file to another using binary mode. I strongly suggest you look up all the functions I use in the libc docs that accompany the djgpp distribution. Also, find a good textbook on C programming. :) #include #define BUF_SIZE 16384 int main( int argc, char **argv ) { char buffer[BUF_SIZE]; char *source, *dest; FILE *fp_in, *fp_out; int n; if ( argc < 3 ) { fprintf( stderr, "Syntax: %s \n", argv[0] ); exit( 1 ); } source = argv[1]; dest = argv[2]; if ( ( fp_in = fopen( source, "rb" ) ) == NULL ) { perror( source ); exit( 1 ); } if ( ( fp_out = fopen( dest, "wb" ) ) == NULL ) { perror( dest ); exit( 1 ); } while ( ( n = fread( buffer, 1, sizeof(buffer), fp_in ) ) > 0 ) if ( fwrite( buffer, 1, n, fp_out ) < 0 ) { perror( dest ); fclose( fp_in ); fclose( fp_out ); exit( 1 ); } fclose( fp_in ); fclose( fp_out ); printf( "1 file copied.\n" ); return 0; } -- John M. Aldrich * Anything that happens, happens. * Anything that, in happening, causes something else to happen, causes something else to happen. * Anything that, in happening, causes itself to happen again, happens again. * It doesn't necessarily do it in chronological order, though. --- Douglas Adams