今回は文字化けについてお聞きしたいと思います。
環境は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;
}