char cwd[256];
if (getcwd(cwd, sizeof(cwd)) == NULL) {
return -1;
}
首先想到的是,当cwd不够大时,getcwd()
可以返回NULL
。还有其他案例吗?
答案 0 :(得分:5)
ERRORS The getcwd() function shall fail if: [EINVAL] The size argument is 0. [ERANGE] The size argument is greater than 0, but is smaller than the length of the pathname +1. The getcwd() function may fail if: [EACCES] Read or search permission was denied for a component of the pathname. [ENOMEM] Insufficient storage space is available.
答案 1 :(得分:1)
If the length of the absolute pathname of the current working direc‐
tory, including the terminating null byte, exceeds size bytes, NULL is
returned, and errno is set to ERANGE; an application should check for
this error, and allocate a larger buffer if necessary.
来源:man getcwd