在VS2022上编译运行C++程序的时候,程序运行到一半出现(进程 10104)已退出,代码为 -1073741819“”的错误这个问题怎么解决

在VS2022上编译运行C++程序的时候,程序运行到一半出现(进程 10104)已退出,代码为 -1073741819“”的错误
这个问题怎么解决?

  • 你可以看下这个问题的回答https://ask.csdn.net/questions/7480378
  • 这篇博客你也可以参考下:【C++】VS2019 中文输出乱码 以及 该文件不能在当前代码页(936)中表示的字符 的解决办法
  • 除此之外, 这篇博客: 【项目源码分享】基于C++实现的网店购物管理系统(VS2019控制台)中的 2.头文件 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • //Shopping.h
    
    #pragma once
    #include<cstring>
    using namespace std;
    const int Max_num = 105;
    
    //单个商品结构体,包括两段ID、名称、品牌、价格、数量
    struct item
    {
    	char ID_1;
    	int ID_2;
    	string name;
    	string brand;
    	float price;
    	int amount;
    };
    
    //用户结构体,包括用户名称,用户密码,收货地址,用户购物车
    struct user
    {
    	string name;
    	string password;
    	string address="none";
    	item shopping_car[Max_num];//购物车由商品结构体数组实现
    	int shopping_car_num = 0; //购物车中商品数量
    };
    
    //已售商品结构体,包括两段ID、名称、品牌、价格、已售数量、购买用户
    struct sale_item
    {
    	char ID_1;
    	int ID_2;
    	string name;
    	string brand;
    	float price;
    	int amount;
    	string my_user;
    };
    
    //新建一个购物系统的类
    class Shopping 
    {
    private:
    	const string admin_ID ="nju_shopping"; //管理员ID
    	const string admin_passwd = "201830210"; //管理员密码
    	const char all_items_address[20] = "D:\\库存.txt"; //库存文件地址
    	const char sales_list_address[20] = "D:\\已售清单.txt" ; //售货清单文件地址
    	const char all_users_address[20] = "D:\\用户.txt"; //用户列表文件地址
    	const char users_shopping_address[20] = "D:\\收货地址.txt"; //用户收货地址文件地址
    
    public:
    	item all_items[Max_num]; //店铺库存,由商品结构体数组实现
    	user all_users[Max_num]; //用户列表,由用户结构体数组实现
    	sale_item all_sales[Max_num]; //售货清单,由已售商品结构体数组实现
    
    	int item_num = 0; //当前库存商品种类数
    	int user_num = 0; //用户列表数量
    	int sale_item_num = 0; //售货清单数量
    
    	//友好的UI界面
    	void show();  //显示主界面
    	void users_enter(); //用户登录界面
    	void users_register(); //用户注册界面
    	void administrator_enter(); //管理员登录界面
    	void admin_operate(); //管理员操作界面
    	void user_operate(int index,user* this_user); //用户操作界面,需要的参数为:该用户在用户列表中的下标以及该结构体
    
    	//文件相关操作
    	void read_all_the_items(); //读取库存文件
    	void write_all_the_items(); //写入库存文件
    	void read_the_sales_list(); //读取售货清单
    	void write_the_sales_list(); //写入售货清单
    	void read_all_the_users(); //读取用户列表
    	void write_all_the_users(); //写入用户列表
    	void read_shopping_address(); //读取收货地址
    	void write_shopping_address(); //写入收货地址
    	void read_shopping_car(user* this_user); //读取用户购物车文件
    	void write_shopping_car(user* this_user); //写入用户购物车文件
    
    	//管理员相关操作
    	void show_items(); //查询商品
    	void add_item(); //增加商品
    	void delete_item(); //删除商品
    	void change_item(); //修改商品数量
    	void show_sales_list(); //售货清单
    
    	//用户相关操作
    	void visit_items(); //查看商品
    	void search_item(); //商品搜索
    	void add_shopping_car(int index, user* this_user); //添加商品至购物车
    	void delete_shopping_car(int index, user* this_user); //删除购物车商品
    	void visit_shopping_car(int index, user* this_user); //查看购物车
    	void check_out(int index, user* this_user); //结账
    	void change_password(int index, user* this_user); //拓展功能:用户修改密码
    	void change_address(int index, user* this_user); //拓展功能:管理收货地址
    
    };
    

  • 以下回答由chatgpt基于相关博客总结生成:

    根据参考资料和提供的代码,问题的解决方案如下:

    步骤1:检查文件编码格式 根据参考资料中提到的内容,问题可能是与文件编码格式有关。首先,我们需要确保将源代码文件(.cpp)以UTF-8 with BOM的格式保存,可以使用记事本另存为功能来更改编码格式。确保打开源代码文件时,选择“编码”选项中的“UTF-8 with BOM”。

    步骤2:重新编译和运行代码 重新编译并运行C++程序,查看是否解决了“(进程 10104)已退出,代码为 -1073741819”错误。如果错误仍然存在,请继续下一步。

    步骤3:卸载可能引起问题的扩展 参考资料中提到,在VS2019扩展中安装了一个名为“Force UTF-8 (No BOM)”的扩展,该扩展可能会导致问题。我们可以尝试卸载这个扩展,以解决错误。

    打开Visual Studio 2022,选择“工具”->“扩展和更新”,进入扩展和更新窗口。 在左侧导航栏中选择“已安装”->“调试”。 找到名为“Force UTF-8 (No BOM)”的扩展,选择它并点击“卸载”。 重新编译并运行C++程序,检查是否解决了错误。

    步骤4:更新Visual Studio 2022 如果上述步骤没有解决问题,可以尝试更新Visual Studio 2022到最新版本。打开Visual Studio 2022,选择“帮助”->“检查更新”,然后按照指示进行更新。

    这是根据提供的参考资料和现有知识给出的解决方案。如果问题仍然存在,请尽快联系Microsoft官方技术支持或其他相关领域的专家,以获取更准确的帮助和解决方案。

用调试的方式运行程序,看程序出错崩溃在具体哪一行。

可以利用调试Debug看看问题出在哪一行。
然后检查改行代码语法是否有问题。
若没有问题,可以看看内存还够不够。
我还是一名小学生,希望被采纳。