Чтение из файла строки. Запись в массив - 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);
Объяснение кода листинга программы
- В данном коде используется функция fscanf, которая предназначена для чтения данных из файла.
- В качестве аргументов функции указывается файл, из которого необходимо прочитать данные, и формат чтения.
- Формат
%s
означает, что необходимо прочитать строку (sequence of characters). - В качестве указателя на переменную, в которую будут записаны прочитанные данные, используется переменная str.
- После выполнения функции fscanf, в переменной str будет содержаться строка, которая была прочитана из файла.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д