[問題] 檔案IO的方式

看板C_and_CPP (C/C++)作者 (raison detre)時間14年前 (2011/09/26 10:14), 編輯推噓2(2012)
留言14則, 8人參與, 最新討論串1/1
小弟需要撰寫一個檔案IO的物件 然後有以下的需求 1. 讀寫一個文字檔 2. 檔案大小約100MB 3. 檔案內容不會一次全部都改寫,每次都只會改寫其中一部分(行) 4. 其他程式也會讀寫這個檔案 雖然讀寫一個文字檔用 std::ifstream 與 std::ofstream 就可以做 可是如果要考慮效能與安全性 不知是否有更好的做法 請問各位高手可以給小弟一個設計的方向或是一些建議嘛 使用的OS是aix 5.2 編譯器是g++ 4.2 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.220.71.34

09/26 10:35, , 1F
「一個文字檔,檔案大小約100MB」
09/26 10:35, 1F

09/26 10:37, , 2F
有沒有辦法把資料轉成資料庫型式,塞進SQLite使用?
09/26 10:37, 2F

09/26 10:38, , 3F
因為我覺得第4點是個大麻煩...
09/26 10:38, 3F

09/26 10:43, , 4F
sqlite只能被單線程處理吧
09/26 10:43, 4F

09/26 10:45, , 5F
唔,我好像搞錯什麼了,還是忽略我的推文好了XD
09/26 10:45, 5F

09/26 11:06, , 6F
不過最麻煩的果然還是4啊 看所謂"其他程式"你有沒有辦
09/26 11:06, 6F

09/26 11:06, , 7F
法去改動 如果能改的話就可以加上mutex或semaphore了
09/26 11:06, 7F

09/26 11:35, , 8F
怎我想到的是,塞到memory,做memory share..
09/26 11:35, 8F

09/26 11:46, , 9F
aix 有mmap 可用嗎?
09/26 11:46, 9F

09/26 12:31, , 10F
應該是有mmap http://0rz.tw/dMZvZ applies to AIX 4.2
09/26 12:31, 10F

09/26 18:38, , 11F
boost似乎提供跨平台的mmap,用這個如何呢?
09/26 18:38, 11F

09/26 18:57, , 12F
09/26 18:57, 12F

09/26 19:09, , 13F
看來大家建議的方法不只一種..
09/26 19:09, 13F

09/26 20:05, , 14F
嗯 推love大的連結。印象中sqlite是可以multi-thread的~
09/26 20:05, 14F
文章代碼(AID): #1EVz_-Qt (C_and_CPP)
文章代碼(AID): #1EVz_-Qt (C_and_CPP)