通常の使用例では、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;
}