c语言 - fopen_s莫名其妙的"Invalid Argument"错误



本质上,我在处理通过套接字发送文件的项目时遇到了一个问题。我有点新手,经过几个小时的搜索,我仍然没有找到一个有效的解决方案,但我已经将问题归结为以下代码。

#include <stdio.h>
#include <errno.h>
#include <Windows.h>
int main()
{
const char* fileName = "‪C:\Users\Username\Desktop\bugs.jpg";
FILE* f;
fopen_s(&f, fileName, "r");

if (f == NULL)
printf("Null Result");
else
printf("Working");
printf("nError %d n", errno);
}

由于某些原因,程序无法打开文件,errno返回值22,该值对应于EINVAL,或此处的无效参数。我很困惑,因为我似乎正在根据fopen_s的规范为其提供正确的参数。如果有任何帮助或建议(哈哈(,我们将不胜感激!

感谢评论,我发现了它不起作用的原因。本质上,我是在复制";对象名称";字段,以节省键入时间。不知怎的,这拖走了一个不可见的"\u202A"字符,它完全破坏了fopen_s。

图片

简而言之,不要试图偷工减料。

相关内容

最新更新