我的目标是阅读 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 编码的文本文件路径作为参数传递时,运行时会出现访问冲突错误。当文本大小足够大时,似乎会发生错误。我不知道问题出在哪里。