Чтение строки из файла - C (СИ) (70932)

Узнай цену своей работы

Формулировка задачи:

В файле записаны числа, например, 1234567 Я хочу считать данную последовательность как строку. Никак не получается это сделать. Пробовал разные способы, но выводится какой-то бред. Вот одна из моих попыток:
    fgets(str, 255, fp2);
    printf("%s ", str);
Если я добавляю
    while (!feof(f))
Вообще зацикливается. Помогите, пожалуйста.
    while ((tr = fgetc(fp)) != EOF)
    {
        str[u] = tr;
        u++;
    }
Почему здесь сразу выходит из цикла? Что нужно исправить, чтобы нормально считывалось?

Решение задачи: «Чтение строки из файла»

textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
 
int main()
{
    char str[30];
    FILE *fp;
    fp = fopen("f1.txt", "r");
    fgets(str, 30, fp);
    puts(str);
}

Объяснение кода листинга программы

  1. Подключение необходимых библиотек для работы с файлами и стринками
  2. Объявление переменных: строки str, указателя на файл fp
  3. Открытие файла f1.txt в режиме чтения с помощью функции fopen
  4. Получение строки из файла с помощью функции fgets, где:
    • Первый аргумент — это указатель на строку (str)
    • Второй аргумент — это максимальное количество символов, которые можно прочитать (30)
    • Третий аргумент — это указатель на файл (fp)
  5. Вывод полученной строки на экран с помощью функции puts

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 4.5 из 5
Похожие ответы