summaryrefslogtreecommitdiff
path: root/reference/C/EXAMPLES/copy_file.c
diff options
context:
space:
mode:
Diffstat (limited to 'reference/C/EXAMPLES/copy_file.c')
-rw-r--r--reference/C/EXAMPLES/copy_file.c32
1 files changed, 32 insertions, 0 deletions
diff --git a/reference/C/EXAMPLES/copy_file.c b/reference/C/EXAMPLES/copy_file.c
new file mode 100644
index 0000000..bf67e9d
--- /dev/null
+++ b/reference/C/EXAMPLES/copy_file.c
@@ -0,0 +1,32 @@
+/************************************************************************
+ *
+ * Purpose: To copy a file (Unix 'cp' command).
+ * Author: M J Leslie
+ * Date: 16-May-96
+ *
+ ************************************************************************/
+
+#include <stdio.h>
+
+main()
+{
+ int c; /* Character read/written between files */
+ FILE *IPFile; /* Pointer to the I/P file. FILE is a
+ structure defined in <stdio.h> */
+ FILE *OPFile;
+
+ /* Open the file - no error checking done */
+ IPFile = fopen("/etc/hosts","r");
+ OPFile = fopen("/tmp/hosts","w");
+
+ /* Read one character at a time, checking
+ for the End of File. EOF is defined
+ in <stdio.h> as -1 */
+ while ((c = fgetc(IPFile)) != EOF)
+ {
+ fputc(c, OPFile); /* O/P the character */
+ }
+
+ fclose(IPFile); /* Close the files. */
+ fclose(OPFile); /* Close the files. */
+}