第一篇文章,将尽我最大的努力遵循指导方针,并使这是一个适当的设置。如果需要什么,请告诉我!
VS 2019年中的错误是"C6064:缺少与转换规范‘2’对应的'fscanf‘的整数参数。“下面的代码是在我的代码中断的部分给出的。到目前为止,其余的都是很好的,并且编译正确。错误的行是fscanf。
完整代码:https://pastebin.com/DCgEa64g (请原谅任何丢失的变量,它们已经被处理了!)
fp = fopen("codefile.txt", "r");
if (fp == NULL)
{
printf("could not open codefile.txt\n");
return 1;
}
i = 0;
while (!feof(fp))
{
fscanf(fp, "%c", &code[i]);
i++;
}
我发布的这个部分是我扫描一个文件codefile.txt,并将每个字符保存到一个字符串数组中,然后将该数组与一个“加密消息”进行比较,以得到答案。代码编译了正确的答案,但我无法让这个错误消失。另一条消息是"'fscanf':没有为格式字符串传递足够的参数“,但我假设字符串数组中的字符只需要%c?
这也会将codefile.txt中的每个元素单独放入代码数组中,这是要实现的。我完成了剩下的任务,所以我根本不要求别人为我做任何事情。我会很高兴地发布任何其他需要的代码!目标是用数字读取单独的消息文件,将它们放入数组中,解扰并与codefile.txt字符串进行比较并得到结果。我做了95%的工作,需要一些帮助!任何澄清,只管问!明晚交:)
发布于 2019-11-17 04:21:44
您的实际代码(在链接处,而不是在您的问题中)使用fscanf_s()
,其文档说:
更安全的函数(具有_s后缀)与其他版本之间的主要区别是,更安全的函数要求以每个c、C、s、S和[ type字段]的字符大小作为变量后面的参数传递。有关更多信息,请参见scanf_s、_scanf_s_l、wscanf_s、_wscanf_s_l和scanf宽度规范。
您的错误是未能提供额外的大小参数。
发布于 2019-11-17 04:31:39
谢谢John;我最终通过在具体使用fscanf_s时将SIZE添加到参数中来使其工作。答案如下:
while (!feof(fp))
{
fscanf_s(fp, "%c", &code[i], SIZE); //SIZE was added here!
i++;
}
谢谢你的帮助!
https://stackoverflow.com/questions/58897375
复制相似问题