Чтение одной строки
Усложним пример ввода-вывода:
/* подсчет символов */ #include <stdio.h> #define STOP '!' main( ) { char ch; /*инициализация счетчика символов 0 */ int count = 0; while ((ch=getchar( )) != STOP) { putchar(ch); count++; /* прибавить 1 к счетчику */ } printf("\n Всего было прочитано %d символа.\n", count); }
Если мы хотим просто подсчитать число введенных символов без отображения их на экране, функцию putchar( ) можно опустить.
Заменим признак окончания ввода данных, используем символ новая строка \n. Для этого нужно переопределить признак STOP:
#define STOP '\n'
Символ новая строка пересылается при нажатии клавиши Enter. Предположим, что мы внесли указанное изменение в программу "подсчет символов", а затем при выполнении ввели следующую строку:
На экране тридцать четыре символа.[Enter]
В ответ на экране появятся следующие строки:
На экране тридцать четыре символа.
Признак, появляющийся в результате нажатия клавиши Enter, не входит в число символов 34, подсчитанных программой, поскольку подсчет осуществляется внутри цикла. Теперь у нас есть программа, которая может прочесть одну строку.