Я читаю в двоичном файле, используя fread, но в процессе этой операции другая строка символов заменяется на (ноль). Ниже приведена часть кода, которая, кажется, вызывает проблему. Весь код намного длиннее, и я подозреваю, что у меня проблемы с доступной памятью стека, но я не знаю, как это проверить.
char *foo;
foo = argv[1];
double *array;
array= malloc(npts*sizeof(double)); //npts - number of points
FILE *fo = fopen(ofile, "r");
printf("String: %s\n",foo);
fread(&array,8,npts,fo);
printf("String: %s\n",foo);
В первом случае оператора print возвращается ранее присвоенное значение bar, а во втором возвращается значение (null).
Я ожидал, что оба оператора print вернут 'bar'.