全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1879
推到 Plurk!
推到 Facebook!

用c++讀寫float的檔案

尚未結案
youngjw
一般會員


發表:4
回覆:8
積分:2
註冊:2005-10-03

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-10-21 13:10:00 IP:140.116.xxx.xxx 未訂閱
請問一下,c 有可以讀寫float或double的寫法嗎 因為fip.getc是讀入char fip.getline是讀字串 而fip.read((char*)&image[i][j],sizeof(char)好像也是讀char 難道要讀寫float或double就只能用傳統的c嗎? 謝謝...
liangnet
中階會員


發表:19
回覆:148
積分:83
註冊:2004-01-03

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-10-21 23:19:18 IP:220.140.xxx.xxx 未訂閱
讀取 double data;    char Buffer[sizeof(double)];    fip.Read(Buffer, sizeof(double));    data = *((double *)Buffer);    這樣讀出來的資料是不是Double  寫入
RedSnow
版主


發表:79
回覆:1322
積分:845
註冊:2003-12-15

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-10-22 10:07:15 IP:61.230.xxx.xxx 未訂閱
youngjw 您好:    以下是您的發問明細: http://delphi.ktop.com.tw/MyQuestion.asp?M_ID=55678&M_NAME=youngjw 請您對已經解決問題的文章予以結案,該給分的就給分,以鼓勵熱心提供協助的會員。 7 天天敲鍵盤 v 時時按滑鼠 8
youngjw
一般會員


發表:4
回覆:8
積分:2
註冊:2005-10-03

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-10-22 14:59:58 IP:140.116.xxx.xxx 未訂閱
不好意思,我找了又找,也去看了新手上路的東西,就是找不到如何結案和給分耶...請大大教一下...謝謝...
youngjw
一般會員


發表:4
回覆:8
積分:2
註冊:2005-10-03

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-10-22 15:50:44 IP:140.116.xxx.xxx 未訂閱
引言: 讀取 double data; char Buffer[sizeof(double)]; fip.Read(Buffer, sizeof(double));-------請問檔案不能直接存入Buffer嗎 data = *((double *)Buffer); 這樣讀出來的資料是不是Double 寫入 >< face="Verdana, Arial, Helvetica">→→→→▲□□□□□
RedSnow
版主


發表:79
回覆:1322
積分:845
註冊:2003-12-15

發送簡訊給我
#6 引用回覆 回覆 發表時間:2005-10-22 16:49:55 IP:61.230.xxx.xxx 未訂閱
youngjw 您好:    給分的方式請參考下列連結中的第三篇 (說明-2) http://delphi.ktop.com.tw/topic.php?TOPIC_ID=22190 7 天天敲鍵盤 v 時時按滑鼠 8
liangnet
中階會員


發表:19
回覆:148
積分:83
註冊:2004-01-03

發送簡訊給我
#7 引用回覆 回覆 發表時間:2005-10-22 17:36:18 IP:61.225.xxx.xxx 未訂閱
fip.Read(Buffer, sizeof(double));-------請問檔案不能直接存入Buffer嗎     當然可以把檔案的資料讀出來@@,然後存到Buffer(Memory) fip.write(p, sizeof(double)); -----請問有fip.write(data, sizeof(double));這樣的寫法嗎 你有沒有實際去Try這程式呢?
youngjw
一般會員


發表:4
回覆:8
積分:2
註冊:2005-10-03

發送簡訊給我
#8 引用回覆 回覆 發表時間:2005-10-23 22:03:16 IP:140.116.xxx.xxx 未訂閱
不好意思我是說既然讀得出來了為什麼還要多data = *((double *)Buffer); 這個步驟 至於寫檔部分char *p = (char *)&data; fip.write(p, sizeof(double)); 是否可以直接用fip.write(data, sizeof(double));來替代就好呢... 謝謝...
liangnet
中階會員


發表:19
回覆:148
積分:83
註冊:2004-01-03

發送簡訊給我
#9 引用回覆 回覆 發表時間:2005-10-23 22:42:21 IP:61.225.xxx.xxx 未訂閱
data = *((double *)Buffer); 是因為你的資料是浮點數,所以你程式要使用此資料運算時,要先做一下型別的轉換。 寫入的部份,你在傳data那一參數少了"&"。 fip.write(&data, sizeof(double));
taishyang
站務副站長


發表:377
回覆:5490
積分:4563
註冊:2002-10-08

發送簡訊給我
#10 引用回覆 回覆 發表時間:2005-10-24 00:15:21 IP:218.168.xxx.xxx 未訂閱
youngjw您好: RedSnow版主已經提醒您之前問的問題該結案了 請多多配合謝謝您的合作
youngjw
一般會員


發表:4
回覆:8
積分:2
註冊:2005-10-03

發送簡訊給我
#11 引用回覆 回覆 發表時間:2005-10-25 12:41:06 IP:140.116.xxx.xxx 未訂閱
抱歉...忘記了,下次一定改進...
系統時間:2024-05-10 10:22:54
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!