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

如何從TXT檔中讀取字串成"double"型態到陣列?

尚未結案
khaupe
一般會員


發表:28
回覆:25
積分:15
註冊:2003-06-30

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-01-30 16:55:33 IP:140.115.xxx.xxx 未訂閱
我之前都是從txt中讀取成"字串"到StringGrid 今天要讀到double的陣列中卻一直無法成功 Data.txt內容如下: 1.234 2.34567 -125.246 程式碼: FILE *NowFile ; int count = 0 ; double *Data; Data = new double [3] ; NowFile = fopen("Data.txt" , "r") ; while(!feof(NowFile)){ fscanf(NowFile , "%f" , &Data[count]); StringGrid1->Cells[0][count] = FloatToStr(Data[count]) ; count ; } fclose(NowFile) ; delete[] Data ; delete NowFile ; 我確定不是StringGrid顯示的問題 在debug中陣列中的數字就很奇怪了
khaupe
一般會員


發表:28
回覆:25
積分:15
註冊:2003-06-30

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-01-30 17:10:31 IP:140.115.xxx.xxx 未訂閱
引言: 我之前都是從txt中讀取成"字串"到StringGrid 今天要讀到double的陣列中卻一直無法成功 Data.txt內容如下: 1.234 2.34567 -125.246 程式碼: FILE *NowFile ; int count = 0 ; double *Data; Data = new double [3] ; NowFile = fopen("Data.txt" , "r") ; while(!feof(NowFile)){ fscanf(NowFile , "%f" , &Data[count]); StringGrid1->Cells[0][count] = FloatToStr(Data[count]) ; count ; } fclose(NowFile) ; delete[] Data ; delete NowFile ; 我確定不是StringGrid顯示的問題 在debug中陣列中的數字就很奇怪了
我後來試著把double改成float型態就沒問題了 可是我如果必需要double型態呢? (用到complex.h時float的錯誤很多)
RaynorPao
版主


發表:139
回覆:3622
積分:7025
註冊:2002-08-12

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-01-31 03:10:57 IP:61.221.xxx.xxx 未訂閱
引言: 我之前都是從txt中讀取成"字串"到StringGrid 今天要讀到double的陣列中卻一直無法成功 Data.txt內容如下: 1.234 2.34567 -125.246 程式碼: FILE *NowFile ; int count = 0 ; double *Data; Data = new double [3] ; NowFile = fopen("Data.txt" , "r") ; while(!feof(NowFile)){ fscanf(NowFile , "%f" , &Data[count]); StringGrid1->Cells[0][count] = FloatToStr(Data[count]) ; count++; } fclose(NowFile) ; delete[] Data ; delete NowFile ; 我確定不是StringGrid顯示的問題 在debug中陣列中的數字就很奇怪了
khaupe 你好:
(1)如果只是單純的想把字串顯示在 StringGrid 裡面,應該沒有必要先轉換成
   double 型態,再轉回字串吧?像這樣寫應該就可以了
   TStringList *sl=new TStringList;
   sl->LoadFromFile("Data.txt");
   for(int i=0; iCount; i++)
   {
      if(Trim(sl->Strings[i])!="")
      {
         StringGrid1->Cells[0][i]=sl->Strings[i];
      }
   }
   delete sl;
(2)可是你如果還是堅持原來的做法,試試看這樣子寫行不行呢?
   >>>>>>>    < src="http://delphi.ktop.com.tw/loadfile.php?TOPICID=10003806&CC=223734"> -- Enjoy Researching & Developing --
        
------
-- 若您已經得到滿意的答覆,請適時結案!! --
-- 欲知前世因,今生受者是;欲知來世果,今生做者是 --
-- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 --
khaupe
一般會員


發表:28
回覆:25
積分:15
註冊:2003-06-30

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-01-31 15:42:31 IP:140.115.xxx.xxx 未訂閱
感謝RaynorPao提點 因為我主要是要存txt內讀數據出來做"運算" 所以並不會將"數字"存到StringGrid內 原文中的程式碼是為了驗證在陣列內的東西才寫上去的 您的第二個方法確實可行, 對我很有幫助, 非常感謝您 -- 在這裡常看大家用TStringList,一直沒去試它的功能 沒想到有此妙用
系統時間:2024-05-04 15:54:28
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!