2010-04
//#define errno (*_errno())
//strerror stderr clearerr ferror perror, _wperror
int main()
{
int fh;
//if ((_access("NOSUCHF.ILE", 2)) == -1) {
if (_sopen_s(&fh, "NOSUCHF.ILE", _O_RDONLY, _SH_DENYNO, 0) != 0)
{
/* Three ways to create error message: */
perror("perror says open failed");//perror says open failed: No such file or directory
printf("strerror says open failed:%d %s\n", errno, strerror(errno)); // strerror says open failed: 2 No such file or directory
//printf(_strerror("_strerror says open failed")); // _strerror says open failed: No such file or directory
// Note: strerror and _strerror are deprecated; consider using strerror_s and _strerror_s instead.
char buff[1024] = { 0 };
_strerror_s(buff, "_strerror says open failed");
printf(buff);
printf("\n");
// fprintf(stderr, _strerror(NULL));//直接输出 No such file or directory
//C28183: _strerror(NULL)可以是0
//_strerror_s(buff, NULL);
fprintf(stdout, buff);
}
else
{
printf("open succeeded on input file\n");
_close(fh);
}
}