You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WIN32编程出现FILE was not declared in this scope报错怎么解决?

问题根因

FILE 类型及配套的fopen、fwrite 等文件操作函数均定义在C标准库的stdio头文件中,未引入对应头文件时编译器无法识别相关定义,就会触发该报错。

修复步骤

  • 在代码头部添加对应头文件引用:
    C语言项目使用:#include <stdio.h>
    C++项目也可使用:#include <cstdio>
  • 补充现有代码的缺失逻辑,避免资源泄漏和运行崩溃:
    你当前的write_file函数缺少文件打开结果判断、文件关闭逻辑,同时fwrite参数也存在错误,修正后的代码参考:
void write_file(char *path) {
    FILE *file = fopen(path,"wb");
    // 增加文件打开失败判断
    if (file == NULL) {
        return;
    }
    int _size = GetWindowTextLength(TextBox);
    char *data = new char [_size+1];

    GetWindowText(TextBox,data,_size+1);
    // 补全fwrite的第二个参数:单个写入元素的大小
    fwrite(data, 1, _size+1, file);
    // 新增关闭文件逻辑
    fclose(file);
    // 释放申请的堆内存,避免内存泄漏
    delete[] data;
}

内容的提问来源于stack exchange,提问作者user15634014

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.09 09:06:01