#include <stdio.h>
#include <stdarg.h>
#include <stdlib.h>
int writeToFile(char* filename, int totalnumbers, ...) {
FILE* fp = fopen(filename, "wb");
if (!fp) { fputs("File open error", stderr); return 0; }
int n;
va_list vl;
va_start(vl, totalnumbers);
for (int i = 0; i < totalnumbers; i++) {
n = va_arg(vl, int);
fwrite(&n, sizeof(int), 1, fp);
}
fclose(fp);
va_end(vl);
return 1;
}
int readFile(char* filename) {
FILE* fp = fopen(filename, "rb");
if (!fp) { fputs("File open error", stderr); return 0; }
int n;
while (1) {
fread(&n, sizeof(int), 1, fp);
if (feof(fp)) break;
printf("%d\n", n);
}
fclose(fp);
return 1;
}
int main()
{
char* filename = "d:\\data.bin";
writeToFile(filename, 6, 123, 8, 9, 100, 291073, 45);
readFile(filename);
return 0;
}
/*
run:
123
8
9
100
291073
45
*/