Вы открываете файл в режиме чтения, см. https://linux.die.net/man/3/fopen.
Если вы хотите записать в файл, вы должны открыть файл в режиме, который поддерживает запись, например: fopen(ofile_name, "w")
.
Ваши основные параметры, если вы хотите записать в файл:
- "w", который создаст файл, если он не существует, в противном случае он обрежет файл до 0 длины (удалит все в файле) и позволит вам записать в него; или
- «а», который будет добавлен в конец существующего файла.
Кроме того, если вы посмотрите на ранее упомянутую ссылку, вы должны заметить, что функция может вернуть ноль, если файл не открывается успешно. Из-за этого вы должны проверить, не равен ли FILE *, возвращаемый fopen, значением NULL, прежде чем работать с ним.
#define OUTPUTFILE "outputdata.txt"
FILE *ofp;
char ofile_name[50] = OUTPUTFILE;
ofp = fopen(ofile_name, "r");
if (ofp) {
for (p = 1; p <= NumPattern ; p++) {
for (k = 1 ; k <= numnodes_out ; k++) {
fprintf(ofp, "%f\n", output_nodes[p][k]);
fprintf(stdout, "Writing to file\n");
}
}
fclose(ofp);
}