Gets the current value of the errno global variable.

errno_t _get_errno( 
   int * pValue 


  • [out] pValue
    A pointer to an integer to be filled with the current value of the errno variable.

Return Value

Returns zero if successful; an error code on failure. If pValue is NULL, the invalid parameter handler is invoked as described in Parameter Validation. If execution is allowed to continue, this function sets errno to EINVAL and returns EINVAL.


Possible values of errno are defined in Errno.h. Also, see errno Constants.


// crt_get_errno.c
#include <stdio.h>
#include <fcntl.h>
#include <sys/stat.h>
#include <share.h>
#include <errno.h>

int main()
   errno_t err;
   int pfh;
   _sopen_s( &pfh, "nonexistent.file", _O_WRONLY, _SH_DENYNO, _S_IWRITE );
   _get_errno( &err );
   printf( "errno = %d\n", err );
   printf( "fyi, ENOENT = %d\n", ENOENT );
errno = 2
fyi, ENOENT = 2



Required header

Optional header




For more compatibility information, see Compatibility in the Introduction.

NET Framework Equivalent

Not applicable. To call the standard C function, use PInvoke. For more information, see Platform Invoke Examples.

See Also



errno, _doserrno, _sys_errlist, and _sys_nerr