Учебная версия на русском. Код и его вывод сохранены в исходном виде.
Работа с файлами в C
Открывайте, записывайте, читайте и закрывайте файлы стандартными библиотечными функциями.

fopen возвращает поток или NULL при неудаче. Режим определяет чтение, добавление или замену содержимого; режим w может обрезать существующий файл. Проверяйте результат до fprintf, fgets и других операций.
Управляйте циклом чтения по результату читающей функции, а не предварительной проверкой feof. fgets требует размер буфера и может читать длинную строку частями. При необходимости отличайте конец файла от ошибки.
Закрывайте потоки через fclose и проверяйте ошибки записи. В удалённом компиляторе файлы могут существовать лишь в пределах одного запуска: это не постоянное хранилище и не доступ к файлам вашего компьютера.
Код C
#include <stdio.h>
#include <stdlib.h>
int main(void) {
const char *filepath = "/tmp/demo_output.txt";
FILE *fout = fopen(filepath, "w");
if (fout == NULL) {
perror("Error opening file for writing");
return EXIT_FAILURE;
}
fprintf(fout, "Hello from the online C compiler file sandbox!\nLine 2: Ephemeral file storage.\n");
fclose(fout);
FILE *fin = fopen(filepath, "r");
if (fin == NULL) {
perror("Error opening file for reading");
return EXIT_FAILURE;
}
char buffer[256];
printf("--- File Content Readout ---\n");
while (fgets(buffer, sizeof(buffer), fin) != NULL) {
printf("%s", buffer);
}
fclose(fin);
return EXIT_SUCCESS;
}Открыть в компилятореОжидаемый вывод
--- File Content Readout --- Hello from the online C compiler file sandbox! Line 2: Ephemeral file storage.
Частые вопросы
Почему код и вывод остаются на английском?
Ключевые слова, идентификаторы и строки, проверяемые тестами, сохранены, чтобы не менять программу. Объяснения и элементы управления переведены.