gabriel rosenkoetter on Fri, 14 Jun 2002 17:40:25 +0200 |
On Fri, Jun 14, 2002 at 11:03:24AM -0400, Bill Jonas wrote: > I don't think that there's a library function call or syscall or > anything special to use. Just open both files, read(2) from one, and > write(2) to the other (or whichever pair or reading/writing functions > you prefer -- you could even use getchar(3)/putchar(3) if you wanted, > but it's not recommended ;-) ). Erm. Fred, if you actually meant that you had the pathnamess for the files in your char *s, then you need to do something more like this: #define MAX_BUF 1024 char *dst, *src; /* * fill dst and src */ char buffer[MAX_BUF]; size_t bytes_read; FILE *source, *dest; source = fopen(source, "r"); dest = fopen(dest, "w"); memset(buffer, 0, MAX_BUF); bytes_read = fread(buffer, 1, MAX_BUF, source); /* second arg could be whatever you like; 1 == sizeof(char) in my world */ while(bytes_read) { fwrite(buffer, 1, bytes_read, dest); } fclose(dest); fclose(source); /* * Don't forget this! You could lose data if you do! * Also, Proper Form dictates this order, though it shouldn't * matter unless you're doing C++. */ See fopen(3), fread(3), memset(3). -- gabriel rosenkoetter gr@eclipsed.net Attachment:
pgpDxsXSIP6ft.pgp
|
|