- ベストアンサー
ファイル読み込みと構造体について
Q1 VB始めたばかりの超初心者です。クイズゲームを作成したく、構造体を用意したいのですが、同じ構造体を100個用意したい場合どのように宣言するのでしょうか? Public Type mondai_REC Question As String * 100 choice(5) As String * 30 justness(3) As Byte End Type ↑の構造体を100個用意したいのです。 また100個用意して、その中のchoice()を参照したい場合どのように使うのでしょうか? Q2 テキストファイルを読み込み、この構造体に格納したいと考えてます。ファイルをオープン・クローズドする、任意の文字(たとえば”。”)がみつかめまで読み込むなど、固定長でない文字列の入ったファイルを読み込むのに便利な関数を教えてください。 よろしくお願いいたします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
Q1 dim mondais(100) as mondai_REC mondais(0).choice(0) = "mondai" Q2 「ファイル読み込み時に、特定の文字が見つかるまで読み込む」 という形式はVBでは向いていません。 VBはCのようにポインタを当ててその構造体のまま 格納することは(たぶん)出来ません。 ファイルの形式を決め それにそって全て読み込み それから識別して必要な情報を格納するしかないかと思われます。 >>固定長でない文字列の入ったファイルを読み込むのに便利な関数 line input が良いかと思います。 それからinstrなど使って任意の文字で区切れば良いかと思います。
その他の回答 (1)
- StarLibra
- ベストアンサー率54% (6/11)
Q1についてはお答えがあがっているので、Q2について補足します。 ファイル全体を読み込んだ後、任意の文字(たとえば”。”)でsplitして配列に格納すれば区切り文字単位で文字列が格納された配列が出来ます。 (例)ファイル全体をstrに読み込んだとして… str = "あいうえお。かきくけこ。さしすせそ。" Dim rows() as String rows = split(str,"。") rows(0)→"あいうえお" rows(1)→"かきくけこ" rows(2)→"さしすせそ" となります。
お礼
このsplitは使えそうです。 親切にありがとうございました。 皆さんのお陰で、少しずつ完成に近づいてます。
お礼
おおっ、できました。ありがとうございます。