鱼C论坛

 找回密码
 立即注册
查看: 225|回复: 4

[已解决]C语言第一个课后作业中遇到的问题

[复制链接]
发表于 2024-9-14 11:08:15 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
首先
第一个问题是,当所有代码敲完的时候,程序并没有显示报错,但是当我执行时,他会弹出这样的提示

'fopen': This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use_CRT_SECURE_NO_WARNINGS. See online help for details.
(不止一个,他有7个错误都是这种类型,叫我考虑在后面加_s)

接着,我又试着按他说的做,加上_s后,他又开始报错,说“调用函数中的参数太少”

不知道有没有大佬知道是什么问题,感谢回答

另一个问题是
#include <io.h>
#include <direct.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#define MAX        256

long total;

int countLines(const char* filename);
void findAllCodes(const char* path);
void findALLFiles(const char* path);
这段代码中的 findALLFiles 这里下面会出现绿色波浪线,说未能找到这个的函数定义,我不知道这个会不会影响程序的运行
(另外,我用的编译器是Visual Studio 2022, 所有的文本应该也没有抄错)



最佳答案
2024-9-14 15:24:57
在源代码第1行前添加这一句:
#define _CRT_SECURE_NO_WARNINGS
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2024-9-14 11:27:36 | 显示全部楼层
第一个问题涉及到“fopen”函数的安全性警告。Visual Studio建议使用更安全的“fopen_s”函数。你可以按如下步骤进行修改:

1. **将 `fopen` 替换为 `fopen_s`**:
  
FILE *file;
    errno_t err = fopen_s(&file, "filename.txt", "r");
    if (err != 0) {
        // 处理打开文件失败的情况
        printf("Failed to open file\n");
        return;
    }
    // 继续处理文件逻辑

2. **如果不想修改代码,也可以禁用安全警告**:
    在文件开头加入这样的预处理指令:
  
#define _CRT_SECURE_NO_WARNINGS
    需要在所有包含头文件之前放置这行代码。

第二个问题有关未定义函数的警告。`findALLFiles`函数只声明了,没有定义,因此会出现警告。要解决这个问题,需要给这个函数添加定义。例如:
void findALLFiles(const char* path) {
    // 在这里添加函数的具体实现
}

如果函数并未使用或计划在后续补上实现而需要暂时忽略这个警告,可以忽略它对程序的即时运行影响,但为了保持代码的完整性还是建议尽早补全定义。

总结:
- 使用 `fopen_s` 替换 `fopen` 或通过预处理指令禁用警告;
- 给`findALLFiles`函数添加具体实现以消除警告。

希望这些信息能帮到你!如果有其他问题,随时提问。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-9-14 15:24:57 | 显示全部楼层    本楼为最佳答案   
在源代码第1行前添加这一句:
#define _CRT_SECURE_NO_WARNINGS
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-9-14 19:10:00 | 显示全部楼层
球最佳~
VS 的经典错误,不要听他建议。
在源代码第1行前添加这一句:
#define _CRT_SECURE_NO_WARNINGS
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-9-15 09:54:32 | 显示全部楼层
#define _CRT_SECURE_NO_WARNINGS
代码没问题就用上面这个代码,这个代码用于告诉 Microsoft Visual C++ 编译器忽略 C 运行时库函数的一些安全性改进的警告。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-23 16:49

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表