Just wonder is it possible that if the file exist, this function below will fail by returning non-zero value?
_access( INIFilename, 00 )

00 - check for Existence only

I noticed that sometimes if even the file exist, the function will fail or return non-zero value.
So trying to find out and duplicate this error. It tends to happen intermittently.
Any idea how can I find out what causing this error?

Code:
char INIFilename[256]="C:\temp\test.ini";
unsigned long Error = 0;
if( _access( INIFilename, 00 ) != 0 )
{
   Error= GetLastError();   
   printf ("Failed to access INI file %s (%ul)", INIFilename, Error);
}