私的メモです。
3信7疑でよろしくお願いします。
×
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
CString text = "aiueo";
int len = text.GetLength();
のとき、長さは5。
アルファベットなどなら、文字数はこれで大丈夫。
けど、CStringのGetLengthは、文字数ではなくバイト数を知るもの。
だから
CString text = "あいうえお";
int len = text.GetLength();
になると、長さは10.
1文字2バイト×5文字=10バイト。
だから、単純に「あいうえお」→5文字が欲しいときは
CString text = "あいうえお";
size_t len = _tcsclen(text);
↑
int で受けると警告が出るけど、size_tが何者かがよく分かってない。
これなら、「aiueo」も「あいうえお」も5文字って取得できる。
※改行も文字数としてカウントしてるみたい。
¥r¥nのところで、2文字増える。
PR
Comment