▼ ラスティブさん
> ▼Uchiさん
> > CEuc、CShiftJisのJISで未定義の箇所をチェックしている
> > ところがソース上見当たらないのですが?
>
> 変換処理最終のMultiByteToWideCharの
> エラーを拾うだけで未定義文字の箇所の変換チェックは
> 大丈夫だろうと軽く考えて、エラーチェックを施したのですが…
#include <stdio.h>
#include <windows.h>
const char test_data[] = { 0x81, 0xae };
int main()
{
wchar_t result[16];
int ret = MultiByteToWideChar(
932, MB_ERROR_INVALID_CHARS, test_data, 2, result, 16 );
// int ret = MultiByteToWideChar(
932, 0, test_data, 2, result, 16 );
printf( "ret=%d", ret );
return 0;
}
試してみました。機種依存文字などのことじゃないですねorz.
MB_ERROR_INVALID_CHARS フラグはMSDNによると
Win2000 SP4, WinXP and later で…という問題ですね。
出来るかどうかはともかく(^^;
了解しました。