0

ifile 在正常使用情况下为 0。当从托管类的 EventHandler 调用 DoesFileExist() 时,ifile 为 -1 (ENOENT)。

相同的方法,文件确实存在,但结果不同。

我们对混合模式事件消息传递有什么不了解?

BOOL DoesFileExist(CString sFile)
{
    struct _stat  c_file;   // structs for file operations
    errno_t err;
    int ifile = _stat( sFile, &c_file );
    if ( ifile EQ 0 )   // file exists.
    {
        return TRUE;
    }
    else    // ifile = -1, check the error type...
    {
         _get_errno( &err );
        if ( err NE ENOENT )
        {
            char tempchar[512];
            sprintf_s(tempchar,"Error in DoesFileExist = %d  File=",err);
            CString sError = tempchar + sFile;
            DEBUGMessage(sError);
        }
    }

    return FALSE;
}
4

0 回答 0