Копирование массива в массив массивов и запись в файл - PullRequest
0 голосов
/ 24 января 2020

Я пытаюсь сохранить массив в массиве массивов, а затем записываю результат в файл. Проблема, с которой я сталкиваюсь, заключается в том, что в файл ничего не записывается. Следующий код является воспроизводимым примером проблемы, с которой я столкнулся:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main()
{
    FILE* fp;
    fp = fopen("C:\\Users\\whoeveryouare\\blahblah\\yourfile.txt", "w");
    if (fp == NULL)
    {
        printf("cannot open file.\n");
        return -1;
    }

    float** deltas;
    deltas = (float**)malloc(sizeof(float*));
    deltas[0] = (float*)malloc(sizeof(float));
    float delta[4] = { 1.1F, 2.2F, 3.3F, 4.4F };
    memcpy(&deltas[0], &delta, sizeof(delta));

    if (deltas[0] != NULL) {
        fwrite(deltas[0], sizeof(float), sizeof(deltas[0]), fp);
        fclose(fp);
    }
    return 0;
}

Нет ошибок или предупреждений, и файл открывается правильно. Однако при проверке контекстов текстового файла ничего не было написано. Я построил этот код из предыдущих сообщений об обмене стека, поэтому я не уверен, в чем заключается ошибка.

...