Запись и чтение массива чисел в бинарный файл с++

После чтения из файла массив чисел превращается в нечто. Как получить те же числа, что и при записи?

#include <iostream>
using namespace std;

void printFile(const char* filename) {
    cout << "File " << filename << ":" << endl;
    FILE* f;
    int buffer;
    f = fopen(filename, "rb");
    while (true) {
        fread(&buffer, sizeof(int), 1, f);
        if (feof(f)) break;
        cout << buffer << " ";
    }
    cout << endl;
    fclose(f);
}

void createRandomFile(int N) {
    FILE* F;
    F = fopen("A.bin", "wb");
    srand(time(NULL));
    int a[N];
    for (int i = 0; i < N; i++) {
        a[i] = rand() % 100;
    }
    fwrite(&a, sizeof(a), 1, F);
    fclose(F);
}

void split(int N) {
    FILE *F;
    FILE *F1;
    FILE *F2;
    F = fopen("A.bin", "wb");
    F1 = fopen("B.bin", "wb");
    F2 = fopen("C.bin", "wb");
    int a[N], bc = 0, cc = 0;
    fread(&a, sizeof(a), 1, F);
    for (int i = 0; i < N; i++) {
        cout << a[i] << ' ';
        //if (a[i] % 2 == 0) {
        //    cc++;
        //} else {
        //    bc++;
        //}
    }
    cout << bc << ' ' << cc << endl;
    //int b[bc], c[cc];
    //for (int i = 0; i < N; i++) {
    //    if (a[i] % 2 == 0) {
    //        fwrite(c, sizeof(c), 1, F2);
    //    } else {
    //        fwrite(b, sizeof(b), 1, F1);
    //    }
    //}
    fclose(F);
    fclose(F1);
    fclose(F2);
}

int main() {
    int N;
    cin >> N;

    createRandomFile(N);
    printFile("A.bin");
    split(N);
    printFile("B.bin");
    printFile("C.bin");

    system("pause");
    return 0;
}

Ответы (1 шт):

Автор решения: Кирилл Протасов

Я забыл чтение поставить)) и читал из файла, хотя тот был открыт на запись)

→ Ссылка