- 517 名前:デフォルトの名無しさん [2008/12/26(金) 11:57:21 ]
- CString型の文字列に格納されている文字を1文字ずつ取り出したいです。
ただし半角なら1バイト単位で、全角なら2バイト単位で、という風に分離したいです。 半角だけなら、Strcpyでcharの配列にコピーした上で、 str[0] str[1]...という風に取り出せますが、 全角が混じっていると、1バイト目、2バイト目と分離されてしまいます。 その文字が半角か全角かを判断して、半角なら1バイト、全角なら2バイト同時に取り出すロジックを作りたいです。 こんな感じの関数として。 CString ripString(CString src,int index){ //ソースとなる文字列、n文字目 /*〜処理〜*/ return 文字列; } たとえば"あaいbうcえdおe"という文字列を入れると、 CString str="あaいbうcえdおe"; ripString(str,0) →結果 "あ" ripString(str,1) →結果 "a" ripString(str,2) →結果 "い" ripString(str,3) →結果 "b" ・ ・ ・ こういうことをするのに良い方法はありますか?
|

|