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

BCB讀取檔案內的字元及使用儲存容器??

答題得分者是:aftcast
don750421
一般會員


發表:11
回覆:12
積分:4
註冊:2012-09-27

發送簡訊給我
#1 引用回覆 回覆 發表時間:2013-02-26 21:06:55 IP:118.171.xxx.xxx 訂閱
來源:1~20個不等的文字檔
文字檔內容只有"英文"和"符號",文字檔內的字元最多可能到10000個↑

輸出:1.計算文字檔內每個字元的數量 (P.S.每個文字檔的總字元數都相同)
2.文字檔的行列數 (P.S.每個文字檔的行列數都相同)

工具:Borland C Builder6
儲存容器選擇:Array、ArrayList、Vector
===================================================================
請問一下各位前輩,假設我要讀取多個檔案,檔案類型如上述
文字檔內容可能如下..每一行及每一列數量一定都是固定(不會有多一個字母的情況)

ACEFECEEGFIKREGERLJKRG
RGMFKDJGERIGELBKTPBKOF
GKIRJEMBVPTRHJTRLRGTLH
RKJVEVMIRGTJBMTRLKHNHQ
FVETIOBTBRLTKRBNLOKCYT
JKHREJVNKLEVNNCWEFGSDF
RKVHJEMVPOERJBGVDESVLW
VJEBRGRTBLGBJOSDFJVBER
HJVBERVLTMBEEBLMTRRBBE

之前使用C#的話,可以透過StreamReader去讀取..
使用BCB的話,不曉得要使用哪種比較好..
上網查到的資訊是,可以藉由fgets去讀每一行 (並取得2.文字檔的行列數)
但是,我要去計算字元出現的次數該怎麼辦呢??
再使用fgetc去讀每一行的每個字元嗎??
還是說有其他效率比較好的方式呢?

如果我要儲存1~20個文字檔的字元數,我使用哪種容器會比較好呢??
因為容器只是用儲存字元數,不會拿來排序或比較..
照理說,以效率而言會是Array > ArrayList > Vector
是這樣嗎??

謝謝大家

aftcast
站務副站長


發表:81
回覆:1482
積分:1762
註冊:2002-11-21

發送簡訊給我
#2 引用回覆 回覆 發表時間:2013-02-27 03:01:41 IP:114.42.xxx.xxx 訂閱
看一下 cb 與我的演算法的power吧,程式很短,速度極快!

拉一個button與一個memo元件,然後在d:\ 建一個叫 test.txt的文件 (如你說的)


[code cpp]
void __fastcall TForm1::Button1Click(TObject *Sender)
{
TStringList *st = new TStringList;
st->LoadFromFile("D:\\test.txt");
int lineCount = st->Count;
AnsiString as = st->Text;
const BYTE asciiNum = 128;
int calc[asciiNum] = {0};

for (int i=0;i< as.Length() ;i )
{
(calc[as[i 1]]) ;
}

this->Memo1->Lines->Clear();
this->Memo1->ScrollBars = ssVertical;

this->Memo1->Lines->Add(AnsiString().sprintf("Total lines = %d",lineCount));
for (BYTE i=0x21;i {
this->Memo1->Lines->Add(AnsiString().sprintf("%c = %d",i,calc[i]));
}


delete st;
}
//---------------------------------------------------------------------------

[/code]

------



蕭沖
--All ideas are worthless unless implemented--

C++ Builder Delphi Taiwan G+ 社群
http://bit.ly/cbtaiwan
系統時間:2017-10-22 9:08:12
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!