我发现API,
_tfsopen()
当我只给出相对文件路径(JUST FILE NAME)时不起作用
fopen_s(&fp,"FileName.txt",w+);
但是,如果我给出 txt 文件的绝对路径,那么它工作正常。所以问题在于获取当前工作目录(CWD)。我如何获得 CWD 并使这个 API 工作?
此 API 定义存在于:
C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\crt\src\fopen.c
这就是 fopen.c 所拥有的:
errno_t __cdecl _tfopen_s (
FILE ** pfile,
const _TSCHAR *file,
const _TSCHAR *mode
)
{
_VALIDATE_RETURN_ERRCODE((pfile != NULL), EINVAL);
*pfile = _tfsopen(file, mode, _SH_SECURE); // ERROR IS OCCURING AT THIS LINE. IT's NOT ABLE TO OPEN THE FILE.
if(*pfile != NULL)
return 0;
return errno;
}