Запутался по поводу "while(getchar()!= '\ N')"
Я знал это getchar(
) просто функция получает первый символ строки, введенной пользователем, затем следующую и т. д. А если мы набрали getchar()
в строке, при окончании кода, она позволяет программе ждать, пока пользователь наберет любую вещь, и не закрывает консоль при отображении информации.
почему мы используем эту строку кода?
вто время как (GetChar() ='\ п'!);
Я знал, что он читает все символы строки, пока не будет найден конец строки, затем цикл прерывается.. верно. Но почему это полезно? Что если мы не напишем эту строку кода?
while((ch=fgetc(stream))!=EOF)
{
putchar(ch);
cha++;
if(ch=='\n')
{
lines++;
printf("Line %i is detected\n\n",lines);
if(lines==NEW_LINE)
{
lines=0;
while (getchar!='\n'); **//Here is my question**
}
}
}
2 ответа
Похоже, этот код разбит на страницы.
Он читает символ из потока и использует putchar
вывести его на stdout
, Затем, если этот символ был символом новой строки, он увеличивает количество строк. Если это количество достигло определенной константы STOP_LINE
затем счет сбрасывается и
while(getchar()!='\n');
ждет, когда пользователь нажмет Return. Затем цикл продолжается.
while(getchar()!='\n');
Читает все символы строки, пока не будет найден конец строки.
Однако для этого есть более эффективные способы (например, использование буферизованного потока или чтение больших кусков, если это возможно).