C_and_CPP 板


LINE

開發平台(Platform): (Ex: Win10, Linux, ...) Win10 編譯器(Ex: GCC, clang, VC++...)+目標環境(跟開發平台不同的話需列出) CodeBlock 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) OpenCV 問題(Question): 大家好,如果我想把大量txt檔 1.txt 2.txt 3.txt ______ ______ ______ 1 2 3 1 2 3 1 2 3 打開後將資料讀進再重新輸出成不同的txt檔,但第一個存的是原本每個檔案的第一個值 第二個存的是第二個值... result1.txt result2.txt result3.txt _______ _______ _______ 1 1 1 2 2 2 3 3 3 有何方法能較快速的做完呢? 目前的做法是利用while fopen→fscanf→fprintf→fclose 但是不停開開關關檔案似乎會非常耗時間,要跑很久 但這樣就可以一次只做少量20個檔 慢慢做20 20 20 ... 做完全部大量檔案 有想過直接全部都先讀進array暫存再一次輸出 但會因為資料量龐大,在宣告array時就會錯誤了 可能我的想法比較笨一點QQ 不知道有沒有什麼方法可以解決? 謝謝 餵入的資料(Input): 預期的正確結果(Expected Output): 錯誤結果(Wrong Output): 程式碼(Code):(請善用置底文網頁, 記得排版) 補充說明(Supplement): --



※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.230.102.41
※ 文章網址: https://webptt.com/m.aspx?n=bbs/C_and_CPP/M.1502099238.A.DF2.html
1F:→ james732: array用malloc或new來配置空間 08/07 17:50
2F:→ james732: 你用int x[很大的數]一定會出問題 08/07 17:51
3F:→ Umagon: 好 我試試看 08/07 17:52
4F:→ Umagon: 會跳出 std::bad_alloc 的錯誤 08/07 17:59
5F:推 james732: 呃那代表你需要的真的太大了orz 08/07 18:01
6F:→ Umagon: 謝謝QQ 08/07 18:05
7F:→ Schottky: 到底是多大,有個數字可以參考嗎? 08/07 18:11
8F:→ Schottky: 20 個檔大可以全部開啟,一起處理,到程式結束時再關閉 08/07 18:12
9F:→ Umagon: 大概450000000 08/07 18:13
10F:→ Umagon: 有試過最後再關閉 可是txt打開卻沒存到 (fprintf "a") 08/07 18:15
11F:推 TeaEEE: 你先把結果寫到另三個檔寫完後再move回來就不用開開關關的 08/07 18:17
12F:→ Schottky: 沒存到? 你有做 error handling 嗎? 08/07 18:19
13F:→ Schottky: 磁碟存取的意外狀況很多,error handling 不可免 08/07 18:19
14F:→ Umagon: 我不確定沒存到是不是這個問題 因為我讓他們共用一個FILE 08/07 18:20
15F:→ Umagon: *Ptr 做法是while sprintf(filename,"%d.txt",i) 08/07 18:21
16F:→ Umagon: 然後Ptr=fopen(filename) 才做fprintf(Ptr,) 08/07 18:22
17F:→ Schottky: ..... 共用是哪招,多用一些啊,pointer 很便宜的 08/07 18:22
18F:→ Umagon: 好QQ 我試試看 因為想說已經空間不夠了還開很多Ptr QQ 08/07 18:24
19F:→ Schottky: 即使是 64-bit 一個 pointer 也才 8 bytes 08/07 18:31
20F:→ Schottky: 20 個 pointer 跟你要開的 4.5 億個 int 是小巫見大巫了 08/07 18:32
21F:→ Schottky: 至於輸出檔,如果是一次性的倒是可以寫完就關 08/07 18:33
22F:→ Umagon: 可以成功 速度有快多了 謝謝S大 還有T大跟j大 08/07 18:48
23F:→ james732: 不用謝啦我什麼都沒幫上忙哈哈哈 08/07 18:49
24F:→ rbufghj9713: 版上的大大果然厲害(抄筆記 08/07 23:16
25F:→ rbufghj9713: 我可以問一下後來實現的方法嗎?是同時開20個檔案, 08/07 23:48
26F:→ rbufghj9713: 然後直接從裡面找嗎? 08/07 23:48
27F:→ ducksky: 沒存到應該是沒下closefile 08/09 20:52
28F:→ mikukonn: 為何不打開第一個檔案一次寫完再開第二個? 08/12 22:36
29F:→ mikukonn: 還是我理解錯誤了? 08/12 22:36







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:Soft_Job站內搜尋

TOP