我們正在嘗試從連接到Linux盒的2個USB鼠標讀取數據(該數據用於在機器人上進行測距/定位)。所以我們需要不斷從每隻鼠標讀取它的移動量。問題是,當鼠標沒有移動時,它不會發送任何數據,所以我們從中獲取數據塊的文件流以及程序無法進行odometry計算(這涉及時間測量的速度) 。在C++中設置ifstream超時?
是否有一種方法可以在輸入流上設置超時(我們在C++中使用ifstream並從/ dev/input/mouse讀取),以便我們能夠知道鼠標何時不移動,而不是等待一個事件被接收?或者我們需要搞砸線程(arggh ...)?歡迎任何其他建議!
提前致謝!
+1,select()是要走的路,因爲它避免了多線程引起的頭痛。 – 2009-02-22 16:38:16