Чтение из файла строки. Запись в массив - C (СИ)

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

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

Help! Туплю. Есть файл,в котором написано предложение. Удаляются знаки препинания, получаем слитное одно большое слово. Записываем его в массив и выводим на экран. Проблема в том,что выводится только первое слово.
#include <stdio.h>
#include <string.h>

int main()
{
    char str[80];
     FILE *file;     
      if ((file=fopen("test.txt","r"))==NULL)
      {       
      puts("File not found!");
   return 1;
      }
    char *mass;
    mass = malloc(sizeof(char) * 1000);
      // while(fscanf(file, "%s", str) == 1 )
        
    fscanf(file, "%s", str);
    int i,j;        
    for(i = 0, j = 0; str[i]; ++i)
    {       
        if((str[i] >= ' ' && str[i] <= '/') || (str[i] >= ':' && str[i] <= '\\')|| (str[i] >= ',' && str[i] <= '_'))
            continue;
        mass[j] = str[i];
        j++;
    }
    printf("массив: %s\n", mass);
    return 0;
}

Решение задачи: «Чтение из файла строки. Запись в массив»

textual
Листинг программы
fscanf(file, "%s", str);

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

  1. В данном коде используется функция fscanf, которая предназначена для чтения данных из файла.
  2. В качестве аргументов функции указывается файл, из которого необходимо прочитать данные, и формат чтения.
  3. Формат %s означает, что необходимо прочитать строку (sequence of characters).
  4. В качестве указателя на переменную, в которую будут записаны прочитанные данные, используется переменная str.
  5. После выполнения функции fscanf, в переменной str будет содержаться строка, которая была прочитана из файла.

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

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