看板 C_and_CPP 關於我們 聯絡資訊
各位版友好 我寫了一個讀檔的函式 每次只讀一個固定的byte數量 想要重複的在迴圈中呼叫這個函式並把它讀到檔案結尾 因此設定了一個static variable fileState來紀錄是否已經開啟檔案 如果目前檔案還沒開啟就把它open 如果檔案已經開啟的話就繼續讀固定的byte 如果讀到檔案結尾的話就將fileState設定回去初始值 程式碼(讀取data.py)如下: http://codepad.org/y8KG3krD 不知道為什麼會造成無窮迴圈,且一直只重複印出開頭的文字 謝謝各位版友的指教 -- ~宅男的四個徵兆~ ∠□ ○ ! * \○/ ★    (○ ? ╦╦└□ " ○□═ □   □> ║║√√ ╦══╦ ∥    |\ 一回家就上PTT 每天想正妹 以當好人為樂 忘記正妹虧欠自己 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.117.169.131
PkmX:你close又重新open以後又從頭開始讀啦... 01/05 19:32
?? 我close的話就會跳出迴圈了 ※ 編輯: Arim 來自: 140.117.169.131 (01/05 19:35) 我知道了 fd也要設為static@@ ※ 編輯: Arim 來自: 140.117.169.131 (01/05 19:37)
loveme00835:通常api不會這樣設計啦, 只要有涉及"狀態"的概念, 就 01/06 14:18
loveme00835:會用傳context給函式的方式, 你的descriptor和讀取狀 01/06 14:18
loveme00835:態是相依的, 這時會考慮用struct包起來, 一個固定大小 01/06 14:19
loveme00835:的buffer也不會用malloc來配記憶體, 註解多餘就是了 01/06 14:21
loveme00835:https://gist.github.com/4465610 01/06 14:22
感謝^^ ※ 編輯: Arim 來自: 140.117.169.131 (01/07 21:13)