home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
C Programming Starter Kit 2.0
/
SamsPublishing-CProgrammingStarterKit-v2.0-Win31.iso
/
tyc
/
list16_4.c
< prev
next >
Wrap
C/C++ Source or Header
|
1993-10-16
|
1KB
|
58 lines
/* 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]);
}