
这样子为啥会报Invalid argument的错误啊?目录里面也有我的文件啊,应该怎么改?
在 C 语言中,"Invalid argument" 这个错误通常发生在调用系统函数或库函数时,传入的参数不符合函数要求的参数类型、值范围或参数个数。
在你的代码中,fopen 和 fscanf 的参数看起来都是正确的,所以 "Invalid argument" 的错误可能不是由这两个函数引起的。
但是,你代码中的 perror("no"); 可能会导致问题。perror 函数需要一个字符串参数,表示错误信息的描述。它会在该字符串后面加上一个冒号和当前errno值的错误描述。如果你传入一个 NULL 字符串或者未经初始化的字符串,perror 函数可能会报错。
在你的代码中,perror("no"); 的 "no" 字符串看起来并没有被初始化,可能会导致 "Invalid argument" 的错误。你可以尝试将其改为一个已初始化的字符串,如 "no"。
如果问题仍然存在,那么可能需要更多的上下文信息来确定错误的具体原因。例如,你可以尝试在 fopen 和 fscanf 调用之前打印出相关的参数值,以便检查是否传入的参数值有问题。