Я пытаюсь сохранить массив в массиве массивов, а затем записываю результат в файл. Проблема, с которой я сталкиваюсь, заключается в том, что в файл ничего не записывается. Следующий код является воспроизводимым примером проблемы, с которой я столкнулся:
#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;
}
Нет ошибок или предупреждений, и файл открывается правильно. Однако при проверке контекстов текстового файла ничего не было написано. Я построил этот код из предыдущих сообщений об обмене стека, поэтому я не уверен, в чем заключается ошибка.