home *** CD-ROM | disk | FTP | other *** search
- /* Direct file I/O with fwrite() and fread(). */
-
- #include <stdio.h>
-
- #define SIZE 20
-
- main()
- {
- int count, array1[SIZE], array2[SIZE];
- FILE *fp;
-
- /* Initialize array1[]. */
-
- for (count = 0; count < SIZE; count++)
- array1[count] = 2 * count;
-
- /* Open a binary mode file. */
-
- if ( (fp = fopen("direct.txt", "wb")) == NULL)
- {
- fprintf(stderr, "Error opening file.");
- exit(1);
- }
- /* Save array1[] to the file. */
-
- if (fwrite(array1, sizeof(int), SIZE, fp) != SIZE)
- {
- fprintf(stderr, "Error writing to file.");
- exit(1);
- }
-
- fclose(fp);
-
- /* Now open the same file for reading in binary mode. */
-
- if ( (fp = fopen("direct.txt", "rb")) == NULL)
- {
- fprintf(stderr, "Error opening file.");
- exit(1);
- }
-
- /* Read the data into array2[]. */
-
- if (fread(array2, sizeof(int), SIZE, fp) != SIZE)
- {
- fprintf(stderr, "Error reading file.");
- exit(1);
- }
-
- fclose(fp);
-
- /* Now display both arrays to show they're the same. */
-
- for (count = 0; count < SIZE; count++)
- printf("%d\t%d\n", array1[count], array2[count]);
-
- }
-