全角の文字列を指定文字数で2つの文字列に分割する。
Posted: 2014年7月09日(水) 21:47
例えば、message"1234567891011121314"のような文字列があったとして(全角半角混合)、
これを指定文字数(例えば7)で分割して、mess1の"1234567"とmess2の"891011121314"に分割したいです。
また、指定文字数が30(実際の文字数より大きい)の時は、mess1に"1234567891011121314"、mess2に""(空っぽ)が入るような関数がほしいのです。
_tcsncpy_sを使う方法は前半は抜き出してmess1に入れても、mess2の方法は分からず、
mess2を右からの文字数で抜き出そうとしても、文字列が短すぎると、mess1とmess2に重なりができてしまいます。
一体どうすればいいのでしょうか。
代入するmessageはchar型なのですが、全角半角混合でcharの関数のままいじると1バイトだけ読み込むせいで端にゴミがうまれてしまうので、
おそらくtcharかwcharを使うべきなのはわかりますが…。
これを指定文字数(例えば7)で分割して、mess1の"1234567"とmess2の"891011121314"に分割したいです。
また、指定文字数が30(実際の文字数より大きい)の時は、mess1に"1234567891011121314"、mess2に""(空っぽ)が入るような関数がほしいのです。
_tcsncpy_sを使う方法は前半は抜き出してmess1に入れても、mess2の方法は分からず、
mess2を右からの文字数で抜き出そうとしても、文字列が短すぎると、mess1とmess2に重なりができてしまいます。
一体どうすればいいのでしょうか。
代入するmessageはchar型なのですが、全角半角混合でcharの関数のままいじると1バイトだけ読み込むせいで端にゴミがうまれてしまうので、
おそらくtcharかwcharを使うべきなのはわかりますが…。