今回は文字化けについてお聞きしたいと思います。
環境はBorland Bcc5.5になります。
今回プログラムを作成していて、2バイト文字が含まれる場合文字化けすることがわかりました。。。orz
ただ、文字化けしない文字もあり、どうしてなのかと思いました。
そこで、2バイト文字が含まれる文字列が渡された場合、英大文字のみを小文字にして2バイト文字はそのままに
したいと思っています。
処理的にはwhileの中で判断文を入れて2バイト文字ならtolowerをかけないで飛ばす的な感じなんでしょうか?
よろしくお願いいたします。
#include <stdio.h> #include <ctype.h> void StrToSmall(const char *conversionStr, char *convertedStr) { while (*conversionStr) { *(convertedStr++) = tolower(*conversionStr++); } *convertedStr = '\0'; } int main(void) { char conversionStr[/url] = "HEllプログラムWORld"; // 元の文字列 char convertedStr[256]; // 変換後の文字列をセット StrToSmall(conversionStr, convertedStr); printf("変換前 : %s\n", conversionStr); printf("変換後 : %s\n", convertedStr); return 0; }