Посимвольное считывание строки из файла - C (СИ)
Формулировка задачи:
Прошу помощи, хотелось бы считать строку из файла (в котором много строк) посимвольно и записать каждый считанный символ в каждый элемент массива.
#include <stdio.h>
int main()
{
FILE *f = fopen("D:\\input.txt", "r");
int c;
while ((c = fgetc(f)) !EOF){
putc(c, stdout);
printf("%d",c);
}
getchar();
fclose(f);
}
}Решение задачи: «Посимвольное считывание строки из файла»
textual
Листинг программы
while (!feof(f)){
fscanf(f,"%c",&mas[i]);//чаровский массив
i++;
if (mas[i-1] == ('\n')) {
break;
}
}
Объяснение кода листинга программы
- Объявлен массив символов
masтипа char, размер которого не указан. - Инициализирован указатель
fна файл, который будет считываться. - Запущен цикл while, который выполняется до тех пор, пока не достигнут конец файла (feof(f)).
- Внутри цикла считывается один символ из файла с помощью функции fscanf и сохраняется в массиве
masс индексомi. - Значение
iувеличивается на 1 после каждой итерации цикла. - Если считанный символ равен символу новой строки ('\n'), то цикл прерывается с помощью оператора break.
- После завершения цикла, указатель
fзакрывается с помощью функции fclose.