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

C++程序编译运行正常 无法向Warframe对应CSV文件写入内容排查

C++文件写入失败问题排查结果

核心错误原因

  • ofstream重复打开导致流失效:你在构造ofstream MyExcelFile时已经传入了"Warframe_Weapons_Sheet"作为文件名打开流,后续再调用open()方法关联csv文件属于重复打开操作,会直接将流置为失败状态,后续所有写入操作都会被忽略。
  • if判断误用赋值运算符:if (Weapon_Type_M_or_R = true)中的=是赋值运算符,不是等值判断的==,该行代码会直接把变量强制赋值为true,永远不会进入else分支,且该赋值表达式返回值永远为true,逻辑完全不符合预期。
  • 布尔值输入不匹配:默认情况下cin读取bool类型变量时只接受整数输入(0对应false,非0对应true),你提示用户输入true/false字符串会触发输入流失败,Weapon_Type_M_or_R会一直保持初始值false。

修复示例

#include <iostream>
#include <string>
#include <fstream>

using namespace std;

string Weapon_Name = "undefined";
string Weapon_Type_Name = "undefined";
bool Weapon_Type_M_or_R = false;

int main(int args, char * argv[])
{
    cout << "Input the weapon name." << endl;
    cin >> Weapon_Name;

    cout << "Confirm weapon type." << endl;
    cin >> Weapon_Type_Name;

    // 开启bool值的字符串输入支持
    cout << "Is weapon melee or range? true or false." << endl;
    cin >> boolalpha >> Weapon_Type_M_or_R;

    // 修正等值判断符,去掉重复打开逻辑
    if (Weapon_Type_M_or_R == true) {
        // 构造时直接传入目标路径
        ofstream MyExcelFile("C:/Users/A12st/Downloads/Warframe_Melee_Weapons_Sheet.csv");
        // 添加打开成功判断,避免路径不存在/权限不足问题
        if (MyExcelFile.is_open()) {
            MyExcelFile << "Weapon Name, Weapon Type" << endl;
            MyExcelFile << Weapon_Name << "," << Weapon_Type_Name << endl;
            MyExcelFile.close();
        }
    } else {
        ofstream MyExcelFile("C:/Users/A12st/Downloads/Warframe_Ranged_Weapons_Sheet.csv");
        if (MyExcelFile.is_open()) {
            MyExcelFile << "Weapon Name, Weapon Type" << endl;
            MyExcelFile << Weapon_Name << "," <<  Weapon_Type_Name << endl;
            MyExcelFile.close();
        }
    }
    return 0;
}

其他注意事项

  • 提前确认目标路径C:/Users/A12st/Downloads/存在,且程序对该路径有写入权限
  • 如果不需要每次写入都覆盖原有文件内容,可以在构造ofstream时追加ios::app参数实现追加写入

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.08 22:54:01