Linux 以“换行符”作为文本行的结束

时间:2022-10-24 10:20:38
文本结束符:
Linux /UNIX -->  换行符('\n');
MS-DOS        -->  回车符合换行符的结合。 

例:

func()
{
    char c = getchar();
}

func函数被调用时,Linux系统会暂存用户输入的内容,知道用户按下回车键。由于Linux系统以换行符('\n')作为文本结束符的,所以用户按下回车键时,系统中实际上是缓存了2个字符:用户输入字符 + 换行符,当用户第二次调用func函数时,最先得到的是第一次调用时缓存下来的换行符,而不是用户第二调用时输入的字符。

解决方法:忽略额外的换行符
do{
    char c = getchar();
}while( c == '\n');