動的配列に格納される 3 つの文字列ファイルがありますが、3 つのファイルのうちの 1 つを試して、これが成功したかどうかをテストするだけなので、同じ方法で 3 つのファイルを処理します。目標は、ファイルから取得した文字列をこのコードの ListView に表示することです。
void __fastcall TFrmNewPeta::showDefaultRute() {
std::string lineDataAwal;
std::ifstream ifs_Awal;
int tempIndexAwal = 0;
ifs_Awal.open("DefaultDataAwal");
/*counting the line*/
while(std::getline(ifs_Awal,lineDataAwal)){++tempIndexAwal;}
/*use dynamic array to stored string*/
std::string *s = new std::string[tempIndexAwal];
for(int dx=0;dx<tempIndexAwal;dx++)
{
while(std::getline(ifs_Awal,lineDataAwal))
s[dx] = lineDataAwal[dx++];
}
for(int dex =0;dex<tempIndexAwal;++dex)
{
ItemDefult = ListView1->Items->Add();
ItemDefult->Caption = String(IntToStr(dex + 1));
ItemDefult->SubItems->Add(s[dex].c_str());
}
ifs_Awal.close();
delete []s;
s = NULL;
}
コンパイル中にエラーは発生しませんが、結果の ListView は、このコードで数値を表示するだけで、ItemDefult->Caption = String(IntToStr(dex + 1));
誰でも最善の方法を示すことができます。