※ 引述《garylee.bbs@bbs.yzu.edu.tw (www.dev.idv.tw)》之銘言:
> ※ 引述《streitleak.bbs@aeug.twbbs.org (亞斯爾‧馮‧修特萊)》之銘言:
> > strcpy(tmpstr,Main->StringList->Lines->Strings[i].c_str());
> 依照你前面所說的,你是用sscanf將個別的field取出吧!?
> 如果是這樣,那麼這個strcpy()不就是多餘的了?
> 直接用
> sscanf(Main->StringList->Lines->Strings[i].c_str(), "%d %d %d", &a, &b, &c);
> 這樣不就好了?
> 你的時間真的慢的有點誇張,我想你也許應該先想想如何把程式中多餘的程式碼移除。
> 另外,你用StringList可能會配置過多的記憶體然後將所有的資料讀入。
> 而且StringList還要花時間判斷換行字元。
> 總而言之,何不回歸到簡單一點的方法,直接用fscanf()呢?
> > Main->Label->Caption=AnsiString(time(NULL));
> 你是根據總共的時間除上資料筆數來當成每筆所需的時間嗎?
> 這樣的算法會有問題,也許你的程式該開始很快,到了後面因為記憶體的大量
> 配置,而變成一筆資料需要好幾秒也不一定阿?
每個strcpy跟sscanf都放一個time() 每個都一樣
另外我有把現在跑到哪一行都秀出來 確實是一秒一個
--
◤◥ Origin: 幽谷˙反地球聯邦組織 aeug.twbbs.org
◣◢ Author: streitleak 從 211-20-33-61.HINET-IP.hinet.net 發表