Gebruikershulpmiddelen

Site-hulpmiddelen


linux:architectuur:copyfile.c

Verschillen

Dit geeft de verschillen weer tussen de geselecteerde revisie en de huidige revisie van de pagina.

Link naar deze vergelijking

linux:architectuur:copyfile.c [2018/12/30 17:17]
linux:architectuur:copyfile.c [2018/12/30 17:17] (huidige)
Regel 1: Regel 1:
 +====== copyfile.c ======
 +
 +<file c copyfile.c>​
 +/* Copy a file                                       ​W20010401*/​
 +/* This program illustrates basic file operations in Unix.    */
 +/* Warning: This is a dangerous program! ​                     */
 +/*          It is not a replacement for cp!                   */
 +/* Copyright & Disclaimer: See bottom of document ​            */
 +/*                                                            */
 +/* Usage: ​                                                    */
 +/* $ copyfile <​source_file>​ <​dest_file> ​                      */
 +
 +
 +#include <​stdio.h>​
 +#include <​stdlib.h>​
 +#include <​sys/​types.h>​
 +#include <​sys/​stat.h>​
 +#include <​fcntl.h>​
 +
 +
 +main(int argc, char *argv[]) /* argc: arg count  */
 + /* argv: arg vector */
 +{
 +
 +char buffer[512];​ /​* declare i/o buffer */
 +int fd1;​ /​* file descriptor 1 */
 +int fd2;​ /​* file descriptor 2 */
 +int in;​ /​* nr. of bytes input */
 +int out;​ /​* nr. of bytes output */
 +
 +
 +fd1 = open(argv[1],​ O_RDONLY);
 +
 +   ​fprintf(stderr,​ "fd1: %d\n", fd1);  /* print fd1 */
 +   if (fd1 < 0) exit(2);
 +
 +fd2 = open(argv[2],​ O_WRONLY|O_CREAT,​ 0644);
 +
 +   ​fprintf(stderr,​ "fd2: %d\n", fd2);  /* print fd2 */
 +   if (fd2 < 0) exit(3);
 +
 +
 +while (1)
 +{
 +in = read(fd1, buffer, sizeof(buffer));​
 +   ​fprintf(stderr,​ "in : %d\n", in);   /* print in bytes */
 +   if (in <= 0) break;
 +
 +out = write(fd2, buffer, in);
 +   ​fprintf(stderr,​ "out: %d\n", out);  /* print out bytes */
 +   if (out < 0) exit (8);
 +}
 +
 +close(fd1);
 +close(fd2);
 +exit (0);
 +
 +} /* end of program */
 +
 +/*
 +Copyright (C) 2003 Integrated Services; Tux4u.nl
 +Author: Ing.J.M.Waldorp
 +        copyfile.c 20030514
 +
 +License: GPL v2
 +See: http://​www.tux4u.nl
 + or: http://​www.fsf.org
 +
 +Disclaimer
 +
 +This document is provided "as is" in the hope that it will be useful,
 +but WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED,
 +including, but not limited to, the implied warranty of FITNESS FOR A
 +PARTICULAR PURPOSE. Integrated Services DISAVOWS ANY POTENTIAL
 +LIABILITY for the contents of this document. The use of the concepts,
 +examples and/or other content of this document is ENTIRELY AT YOUR
 +OWN RISK.
 +
 +Use of a term in this document should not be regarded as affecting
 +the validity of any trade mark or service mark. Naming of particular
 +products or brands should not be regarded as endorsements.
 +*/
 +</​file>​
  
linux/architectuur/copyfile.c.txt ยท Laatst gewijzigd: 2018/12/30 17:17 (Externe bewerking)