看板 C_and_CPP 關於我們 聯絡資訊
※ 引述《LPH66 ((short)(-15074))》之銘言: 我也說一點點自己的使用經驗@@ 因為工作需要,所以寫了些IO程式 這裡我想說的是接續L大說的東西的一些實際使用經驗 在fopen的時候,就請務必很審慎的去想清楚 自己想做的是文字還是二進位模式 千萬不要跟我犯一樣的錯@@ 以下是我犯過的錯,搞了一整天才找出來 我讀寫用的是fread + fwrite去做的 也就是說,我把我的資料讀寫都用二進位的方式去做 可是當時我犯了個錯誤,我在把這些函式整理成類別時 我自作聰明的在OPEN的函式上,開啟方式給定了預設值=_=” 惡夢就從這裡開始了~我當時的預設值是r+的樣子 我也傻傻的沒什麼IO經驗,看到檔案寫出來是亂碼 隨便測個幾筆,能正常IO也就沒再注意了,這時候我都一直以為 自己IO類別應該寫得差不多了,此後也就沒再注意這邊 直到我開始處理大陸股票資訊的時候,問題開始出現了~ 一千六百多檔股票,我才讀入70多檔,接著資料就開始亂掉了 為了找出錯誤的原因,我反覆看了好幾次那部份的函式 但都毫無結果,後來我開始懷疑自己的IO,於是拿著自己的IO程式碼 向經驗老練的同事請教,請他指點一二 我才發現我幹了件蠢事........... 我開檔用文字模式開檔 讀寫檔案用二進位模式的函式 這電腦不錯亂,才有鬼=_= 不過我也挺無言的,文字模式開的檔案 竟允許我用二進位模式的函式去存取 至於錯亂的理由,L大寫的夠詳細了@@ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.116.133.240