私は、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;
}