• 締切済み

c++の文字列の格納について

c++builder6で文字列「学校の花壇」などと入力すると、x[0]=学,x[1]=校,x[2]=の・・・・などと格納するプログラムを作ろうと思ってます。文字列をそのままコピーするプログラムは以下のようにして出来ました。 AnsiString strw,str; int po,po2,p,l; str="okw"; p=0; strw = Edit1->Text; l=strw.Length(); n=0; while (p != l){ p=p+1; po = p; po2 = po+1; if(strw.ByteType(po2) == mbTrailByte){ po2=po+1; str =str+ strw[po] + strw[po2]; }else if(strw.ByteType(po) == mbSingleByte){ str=str+strw[po]; } } ですが格納しようとして以下のようにすると上手く動きません。どうしたらよいのでしょうか?どなたか助けてください。 AnsiString strw,str,x[15]; int po,po2,p,n,l; str="okw"; p=0; strw = Edit1->Text; l=strw.Length(); n=0; while (p != l){ p=p+1; po = p; po2 = po+1; if(strw.ByteType(po2) == mbTrailByte){ po2=po+1; x =x[n]+ strw[po] + strw[po2]; n=n+1; }else if(strw.ByteType(po) == mbSingleByte){ x=x[n]+strw[po]; n= +1; } } どうかよろしくお願いします。

みんなの回答

  • maku_x
  • ベストアンサー率44% (164/371)
回答No.1

外していたら申し訳ないのですが、 > if(strw.ByteType(po2) == mbTrailByte){ >    po2=po+1; >    x =x[n]+ strw[po] + strw[po2]; >    n=n+1; > }else if(strw.ByteType(po) == mbSingleByte){ >    x=x[n]+strw[po]; >   n= +1; > } は、  if(strw.ByteType(po2) == mbTrailByte){    po2=po+1;    x[n] = strw[po] + strw[po2];  }else if(strw.ByteType(po) == mbSingleByte){    x[n] = strw[po];  }  n++; ではないかと。

nkonnkon
質問者

補足

確かに外の通りです。すみません、書き間違えました・・・

すると、全ての回答が全文表示されます。

関連するQ&A