請問讀TXT檔入二維陣列問題? |
尚未結案
|
se0528
一般會員 發表:13 回覆:22 積分:7 註冊:2005-05-04 發送簡訊給我 |
我現在想讀入一個TXT檔如下
2,3
3,4
4,5
我希望能將每列的數值分別存在a[i][0],a[i][1]中
且如果分隔符號由逗號變成空格
是否也可以適用
以下是我目前所寫的程式
void __fastcall TForm1::Button1Click(TObject *Sender) { float a[100][2]; TStringList *inf = new TStringList; if (OpenDialog1->Execute()) { inf->LoadFromFile(OpenDialog1->FileName); for (int i=0;i<100;i ) { int count=0; a[count][0]=StrToFloat(inf->Strings[i]); count ; } } delete inf; }此外for (int i=0;i<100;i )中i<100的條件是我亂給的 可以修改成依資料筆數自動調整嗎? |
supman
尊榮會員 發表:29 回覆:770 積分:924 註冊:2002-04-22 發送簡訊給我 |
|
se0528
一般會員 發表:13 回覆:22 積分:7 註冊:2005-05-04 發送簡訊給我 |
|
RedSnow
版主 發表:79 回覆:1322 積分:845 註冊:2003-12-15 發送簡訊給我 |
se0528 您好: 以您的 case 來看,將程式敘述改成如下所示,應可符合您的需求:
void __fastcall TForm1::Button1Click(TObject *Sender) { float a[100][2]; TStringList *inf = new TStringList; if (OpenDialog1->Execute()) { inf->LoadFromFile(OpenDialog1->FileName); AnsiString tmp; // 暫存用,以簡化拆解的敘述 int pos; // 紀錄分隔符號位置,以作拆解之用 for (int i=0; i您在敘述中設定的 count 變數是不必要的 (直接以迴圈的 i 值代入即可),而且設定位置錯誤,其最大累加值僅會為 1。 建議您養成查看 Help 的習慣,如果您查閱 TStringList 的說明,您就會知道它有 Count 屬性可使用,如果您查閱 AnsiString 的說明,您就會知道 Pos()、Lenght()、SubString()....等函數的用途。 |
se0528
一般會員 發表:13 回覆:22 積分:7 註冊:2005-05-04 發送簡訊給我 |
|
supman
尊榮會員 發表:29 回覆:770 積分:924 註冊:2002-04-22 發送簡訊給我 |
您好:
教您一個偷懶的切割字串方式
void __fastcall TForm1::Button1Click(TObject *Sender)
{
TStringList *List;
List=new TStringList;
AnsiString S="1,2";
S=StringReplace(S,",","\r\n",TReplaceFlags()<
void __fastcall TForm1::Button1Click(TObject *Sender) { float a[100][2]; TStringList *inf = new TStringList; TStringList *List = new TStringList; AnsiString S; if (OpenDialog1->Execute()) { inf->LoadFromFile(OpenDialog1->FileName); for (int i=0;i |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |