/********************************************\
|????歡迎轉載, 但請保留作者姓名和原文鏈接, 祝您進步并共勉!???? |
\********************************************/
引以為戒
作者: Jerry Cat
時間: 2006/07/15
鏈接:
http://www.shnenglu.com/jerysun0818/archive/2006/07/15/9931.html
想用IPicture實現不同圖形文件的讀取操作,結果OleLoadPicture函數老是出錯,最后down了一個例程居然能用,然后把人家的代碼拷貝過來加以改動,我的程序也能運行了,郁悶。
其實兩個程序差別就在文件讀取的那一塊,我用的是STL的fstream,他用的是CreateFile,經過反復調試才發現是因為我在打開文件的時候沒有加上ios::binary,結果read函數得不到正確的結果
%$&@#$
@
幾個小時就這樣被耽誤了, 以我為戒!
研究后結論: 不僅僅是讀文件存在這樣的問題。寫文件如果不是二進制的話,也會出問題的哦。你可以讀取一個exe的內容,然后write到一個新的空文件。如果不用二進制寫入,會多出不少字節呢。 原因是0d0a惹的禍。 哈哈:)
而且不僅僅是0D0A,小于0x20的字符都稱為控制字符,在文本方式下其行為由實現定義。
posted on 2006-07-15 05:17
Jerry Cat 閱讀(486)
評論(1) 編輯 收藏 引用