Я действительно запутался прямо сейчас. Я хочу создать файл и написать ему строку, которая была создана ранее. Но когда выполняется следующий код, происходит ошибка сбоя сегментации, и программа завершается.c - Дефекты сегментации при открытии файла
FILE* output;
output = fopen("test.txt", "w");
fprintf(output, line);
fclose(output);
Линия заявлена как следующая.
char* line = NULL;
line = malloc(1048576 + 1);
Сначала я считал, что ошибка возникает из-за таНос, но этот код не работает либо:
FILE* output;
output = fopen("test.txt", "w");
fprintf(output, "LBASDHASD");
fclose(output);
Что я делаю неправильно? В коде, который выполняется перед этими строками, я также использовал указатель на файл, но файл уже закрыт.
Хорошо, сначала вы не проверяете результат fopen. – OldProgrammer
Выполняете ли вы что-нибудь помимо выделения тренда, скажем, заполняя его контентом? –
Использование 'fprintf (file, line)' также опасно, поскольку переменная 'line' может содержать спецификаторы fomat. Рассмотрим использование 'fprintf (файл,«% s », строка)'. –