Вывод текста из файла на экран - C (СИ)
Формулировка задачи:
среда разработки BC.31.
ошибку не выдает, но и текст не читает из файла... что в коде не так? и как вывести на экран текст из файла?)
#include <stdio.h> #include <conio.h> main() { FILE * h char n; hi=fopen("C:\\test.txt","rt"); while(!feof(hi)) { fscanf(hi,"%s",&n); } fclose(hi); getch(); return(0); }
Решение задачи: «Вывод текста из файла на экран»
textual
Листинг программы
#include <stdio.h> #include <stdlib.h> #include <string.h> #define FILENAME "input.txt" #define SIZE 256 int main(void) { char buf[SIZE] = { 0 }, *text = NULL; FILE* file = fopen(FILENAME, "rt"); size_t i = 0; text = (char*)calloc(1, sizeof(char)); while (fgets(buf, SIZE, file) != NULL) { if (i % 2 == 0) text = (char*)realloc(text, SIZE * (i + 2)); strcat(text, buf); ++i; } printf("%s", text); fclose(file); free(text); return 0; }
Объяснение кода листинга программы
- Подключение необходимых библиотек для работы с файлами и строками.
- Определение переменных: — buf — буфер для чтения данных из файла, — text — строка, в которую будут добавляться прочитанные данные, — file — указатель на файл, — i — счётчик, используемый в цикле.
- Выделение памяти под буфер и строку.
- Чтение данных из файла и добавление их в строку с помощью функции strcat.
- Реализация цикла, который будет выполняться до тех пор, пока не будет прочитана последняя строка файла.
- Проверка чётности счётчика i, чтобы не превысить размер выделенной памяти.
- Вывод содержимого строки text на экран.
- Закрытие файла и освобождение памяти, выделенной под строку.
- Возврат значения 0, что означает успешный конец работы программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д