私の目的は、ANSIでエンコードされたテキストを読むことです。しかし、いくつかの理由で、私はfgetws()(fgetsではなく)関数を使用しており、もちろんファイルはバイナリモードで開かれます。これが私の問題を示す短いコードです
bool testfunc(wchar_t path[])
{
wchar_t buffer[10];
if( FILE * fr=_wfopen(path,L"rb") )
{
fgetws(buffer,sizeof(buffer),fr);
fclose(fr);
return true;
}
else return false;
}
この関数を呼び出して、ANSIエンコードされたテキストファイルパスを引数として渡すと、実行時にアクセス違反エラーが発生します。テキストサイズが十分に大きい場合にエラーが発生するようです。問題がどこにあるのかわかりません。