• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:文字列の取得(BCB6.0))

テキストファイルから文字列を配列に格納する方法

このQ&Aのポイント
  • テキストファイルから文字列を配列に格納する方法についての初歩的な質問です。
  • テキストファイルからTStringListには取得できているようですが、2次元配列に格納する方法が分からないようです。
  • テキストファイルの形式が文字1 OFF、文字1 ON、文字2 OFF、文字2 ON...となっており、コンマで区切って2次元配列に格納したいとのことです。

質問者が選んだベストアンサー

  • ベストアンサー
  • KoHal
  • ベストアンサー率60% (110/181)
回答No.1

区切り文字は半角カンマで良いのですか? もし全角の読点なら処理が全く別の話になりますが。 プログラミングの質問はこのような点を曖昧にしないよう注意して下さい。 またOFF、ONの文字は単に文字列の一部として扱って良いのですか? 1行のフィールドは2つですか? つまり1行に半角カンマで区切られた2つの文字列があると考えるのですか? 「文字1 ON」の間にあるスペースは全角ですか半角ですか? これが半角だと、通常区切り文字として認識されます。 その場合1行に4つのフィールド(4つの文字列)が存在することになりますが。 ※サンプルの第1行目が、『文字1』『OFF』『文字1』『ON』の4つに分解される。 とりあえず、1行2フィールドとし半角スペースの問題は無視出来るとすればこんな感じ。 vectorを使ってますが、使えないならご自分で配列に直してください。 auto_ptr<TStringList> xSList(new TStringList()); auto_ptr<TStringList> line(new TStringList()); xSList->LoadFromFile("D:\\sample.txt"); std::vector< std::vector<AnsiString> > array( xSList->Count ); for(int i=0; i<xSList->Count; i++) {//不等号注意! line->CommaText = xSList->Strings[i]; array[i].push_back( line->Strings[0] ); array[i].push_back( line->Strings[1] ); } これでダメなら上記の疑問点を補足で明確にしてください。

関連するQ&A