2014-02-15 63 views

回答

4

檢查read(2)單證:

返回值

成功時,讀的是返回的字節數(零表示文件的結尾),文件位置由該推進數。如果這個數字小於請求的字節數 ,那麼它是 不是錯誤的;這可能發生,例如因爲現在實際可用的更少字節(可能是因爲我們接近 文件結束,或者因爲我們正在從管道中讀取數據,或者從 終端讀取),或者因爲read()被中斷一個信號。 在 錯誤,返回-1,errno被設置爲適當的。在此 的情況下,未指定文件位置(如果有) 是否更改。

提示:找到sys_foo的文檔,類型man 2 foo2意味着system call

+0

正確,但錯誤時,-ERRNO在'eax'中,而不是-1,就像它在手冊頁中所說的那樣。從終端(stdin)讀取'eax'中的計數包括結束輸入的換行符(0xA)。 –