[問題] static variable跟讀檔(已解決)

看板C_and_CPP (C/C++)作者 (Arim5566)時間13年前 (2013/01/05 19:28), 編輯推噓0(006)
留言6則, 2人參與, 最新討論串1/1
各位版友好 我寫了一個讀檔的函式 每次只讀一個固定的byte數量 想要重複的在迴圈中呼叫這個函式並把它讀到檔案結尾 因此設定了一個static variable fileState來紀錄是否已經開啟檔案 如果目前檔案還沒開啟就把它open 如果檔案已經開啟的話就繼續讀固定的byte 如果讀到檔案結尾的話就將fileState設定回去初始值 程式碼(讀取data.py)如下: http://codepad.org/y8KG3krD 不知道為什麼會造成無窮迴圈,且一直只重複印出開頭的文字 謝謝各位版友的指教 -- ~宅男的四個徵兆~ ∠□ ○ ! * \○/ ★    (○ ? ╦╦└□ " ○□═ □   □> ║║√√ ╦══╦ ∥    |\ 一回家就上PTT 每天想正妹 以當好人為樂 忘記正妹虧欠自己 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.117.169.131

01/05 19:32, , 1F
你close又重新open以後又從頭開始讀啦...
01/05 19:32, 1F
?? 我close的話就會跳出迴圈了 ※ 編輯: Arim 來自: 140.117.169.131 (01/05 19:35) 我知道了 fd也要設為static@@ ※ 編輯: Arim 來自: 140.117.169.131 (01/05 19:37)

01/06 14:18, , 2F
通常api不會這樣設計啦, 只要有涉及"狀態"的概念, 就
01/06 14:18, 2F

01/06 14:18, , 3F
會用傳context給函式的方式, 你的descriptor和讀取狀
01/06 14:18, 3F

01/06 14:19, , 4F
態是相依的, 這時會考慮用struct包起來, 一個固定大小
01/06 14:19, 4F

01/06 14:21, , 5F
的buffer也不會用malloc來配記憶體, 註解多餘就是了
01/06 14:21, 5F

01/06 14:22, , 6F
感謝^^ ※ 編輯: Arim 來自: 140.117.169.131 (01/07 21:13)
文章代碼(AID): #1Gw0vUeU (C_and_CPP)
文章代碼(AID): #1Gw0vUeU (C_and_CPP)