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