fopen_s(&fp, "FileName.txt" ,w+);当我给出文件的相对路径时不起作用,并且仅在给出绝对路径时才有效
fopen_s(&fp,"FileName.txt",w+); not working when I give relative path of the file & works only when absolute path is given
我发现 API ,
_tfsopen()
当我只提供相对文件路径(只是文件名)时不起作用
fopen_s(&fp,"FileName.txt",w+);
但是,如果我给出txt文件的绝对路径,那么它就可以正常工作。所以问题在于获取当前工作目录(CWD)。如何获取 CWD 并使此 API 正常工作?
此 API 定义存在于:
C:Program Files (x86)Microsoft Visual Studio 9.0VCcrtsrcfopen.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;
}
这段代码让你得到当前的工作目录:
#include <direct.h>
char cwd[MAX_PATH_SIZE];
_getcwd(cwd, MAX_PATH_SIZE);
相关文章:
- 我的神经网络不起作用 [XOR 问题]
- 在C++程序中输入的文本文件将不起作用,除非文本被复制和粘贴
- C++映射:具有自定义类的运算符[]不起作用(总是返回0)
- C++为什么尽管我调用了void函数,它却不起作用
- 为什么在保护模式下继承升级不起作用
- 循环在计数器中不起作用
- 在其他文件中创建类时在 c++ 项目中不起作用
- Visual studio代码重构似乎不起作用(例如,重命名符号-f2)
- 为什么二进制搜索在我的测试中不起作用
- 我的代码中有错误吗?使用BGI图形的C++代码对我不起作用
- 为什么 const std::p air<K,V>& 在 std::map 上基于范围的 for 循环不起作用?
- 带有指定长度字符* 参数的 std::regex_search 在 VS2017 中不起作用?
- Bjarne Stroustrup Book - std_lib_facilities.h - 不起作用(未知类型名称)
- Cmake:find_library不起作用,但find_path起作用(相同的路径)
- Qt .pro文件:添加包含"include"目录的路径不起作用
- fopen_s(&fp, "FileName.txt" ,w+);当我给出文件的相对路径时不起作用,并且仅在给出绝对路径时才有效
- eclipse-cygwin源路径映射不起作用
- Qt qrc 资源路径不起作用
- 为什么相对路径不起作用?
- 为什么 CFileDialog::GetNextPathName 在文件路径较长时不起作用?