linux c之STDIN_FILENO的作用及與STDIN的區別
1.STDIN_FILENO的作用

STDIN_FILENO屬于系統API接口庫,其聲明為 int 型,是一個打開文件句柄,對應的函數主要包括 open/read/write/close 等系統級調用。
操作系統一級提供的文件API都是以文件描述符來表示文件。STDIN_FILENO就是標準輸入設備(一般是鍵盤)的文件描述符。
2.區別
1)數據類型不一致:
stdin類型為 FILE*
STDIN_FILENO類型為 int
使用stdin的函數主要有:fread、fwrite、fclose、fputs、fgets等,基本上都以f開頭
比如函數 fget(buf, sizeof(buf), stdin);
使用STDIN_FILENO的函數有:read、write、close等
2)stdin等是FILE *類型,屬于標準I/O,高級的輸入輸出函數。在
STDIN_FILENO等是文件描述符,是非負整數,一般定義為0, 1, 2,屬于沒有buffer的I/O,直接調用系統調用,在
3)STDIN_FILENO 是標準輸入的文件描述符
詳見/usr/include/unistd.h
代碼:
/* Standard file descriptors. */<
Linux
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。