2011-03-29 56 views
1

我正在寫一個程序,讀取和寫入串行。我想知道,有沒有辦法從一個tty設備(如/ dev/ttyS0)中查看下一個值,而無需將其從隊列中移除。我已經查找了此模塊的文檔或源代碼,並且迄今爲止無法找到它。如果有人知道它在哪裏,或者哪些ioctls可用,請告訴我。有沒有辦法從一個tty設備偷看一個值

+0

你試過看看會發生什麼? – 2011-03-29 20:05:53

+0

我不知道你問什麼。我尋找一種方法來偷看價值,我無法找到一個。 – 2011-03-29 20:09:59

+0

你是如何閱讀設備的?如果你向我們展示你有什麼代碼,你可能會得到一些建議。現在,我們完全處於黑暗中。 – 2011-03-29 20:34:05

回答

1

使用getcungetc的組合將允許您查看單個字節。

如果您需要多個字節,則需要手動進行緩衝。

+0

您確定訪問設備節點時應該使用stdio流嗎?據我所知,將stdio調用與直接系統調用('ioctl')混合在一起會引發*奇怪的事情發生...... – thkala 2011-03-29 20:58:18

+2

stdio調用與ioctl結合使用是很好的;實際上,stdio將導致正在運行的系統調用來執行實際的I/O。由於緩衝區分離,將stdio與C++ iostreams組合在同一文件中是一個壞主意,但ioctl很好。 – boycy 2011-04-08 15:01:13

相關問題