如何解决来自 fopen_s 的莫名其妙的“无效参数”错误
本质上,我在处理通过套接字发送文件的项目时遇到了一个问题。我是个新手,经过几个小时的搜索,我仍然没有找到可行的解决方案,但我已将问题归结为以下代码。
#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,或无效参数 here。我很困惑,因为我似乎根据其规范为 fopen_s 提供了正确的参数。任何帮助或指点(哈哈)都非常感谢,谢谢!
解决方法
感谢评论,我发现了它不起作用的原因。本质上,我是从文件属性中复制“对象名称”字段以节省输入时间。不知何故,这会拖着一个不可见的 '\u202A' 字符,它完全破坏了 fopen_s。
简而言之,不要试图偷工减料。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。