Linux 以“換行符”作為文本行的結束


文本結束符:
Linux /UNIX -->  換行符('\n');
MS-DOS        -->  回車符合換行符的結合。 

例:

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

func函數被調用時,Linux系統會暫存用戶輸入的內容,知道用戶按下回車鍵。由於Linux系統以換行符('\n')作為文本結束符的,所以用戶按下回車鍵時,系統中實際上是緩存了2個字符:用戶輸入字符 + 換行符,當用戶第二次調用func函數時,最先得到的是第一次調用時緩存下來的換行符,而不是用戶第二調用時輸入的字符。

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


注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2021 ITdaan.com