Считать строку символов из файла
#include <stdio.h>char * input_line( FILE *fp,char *buf,int bufsize );extern int _input_line_max;
libc
Функция input_line() получает строку из файла fp и сохраняет её в buf. Функция input_line() останавливает чтение символов, когда:
1
символов было прочитано. Также функция input_line() буферизует последние _input_line_max строк. Переменная _input_line_max определена в <stdio.h>
. Перед первым вызовом input_line() можно изменить значение _input_line_max, значение по умолчанию - 20
. Пока производится чтение, клавиши KEY_UP
и KEY_DOWN
могут быть использованы для перемещения к предыдущей и следующей строке соответственно в циклическом буфере с прочитанными ранее строками. Символ конца строки (\n) заменяется на нуль-терминатор при получении строки.
#include <stdlib.h>#include <stdio.h>#define SIZ 256int _input_line_max;int main( void ){FILE *fp;char *p,buf[SIZ];fp = stdin; /* или другой поток */_input_line_max = 25; /* установить перед первым вызовом */while ( (p = input_line( fp, buf, SIZ )) != NULL ){printf( "%s\n", buf );fflush( stdout );}return (EXIT_SUCCESS);}
ЗОСРВ «Нейтрино»
Предыдущий раздел: Описание API системной библиотеки