Xovery_ 2023-04-27 20:26 采纳率: 0%
浏览 13

vs2022,c++ std::bad_alloc异常怎么修改



```c++
#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
#include <string>
using namespace std;


//结构体
struct City {   //图的顶点
    string country, city;
    float latitude, longitude;//经纬度
};
struct Route {
    string start_city, end_city, transport, other_info;//起点,终点,交通工具,其他信息
    float time, cost;//时间,花费
};
struct Arc {
    float adjvex;//权值
    Route* info;//弧信息
};
struct Graph {
    Arc arcs[199][199];//二维数组
    City vexs[199];//顶点数据信息
    int vexnum, arcnum;//顶点数和弧数
};


void test() {
    
    
}


int main()
{
    //读取 cities 表
    FILE* fp;
    fp = fopen("C:\\Users\\张宇航\\Desktop\\集中实习\\cities.csv", "r");
    if (!fp) {
        printf("ERROR!!!");
        exit(0);
    }
    City city[199];
    char ch;
    float f;
    int i = 0, j = 0;

    while (!feof(fp))
    {
        //存储国家名
        ch = fgetc(fp);
        for (; ch != ','; ch = fgetc(fp))
        {
            city[i].country += ch;
        }

        //存储城市名
        ch = fgetc(fp);
        for (; ch != ','; ch = fgetc(fp))
        {
            city[i].city += ch;
        }

        //存储经纬度
        fscanf(fp, "%f,", &f);
        city[i].latitude = f;
        fscanf(fp, "%f\n", &f);
        city[i].longitude = f;
        i++;
    }
    fclose(fp);

    //读取 routes 表
    FILE* fp1;
    fp1 = fopen("C:\\Users\\张宇航\\Desktop\\集中实习\\routes.csv", "r");
    if (!fp1) {
        printf("ERROR!!!");
        exit(0);
    }
    Route route[1975];
    i = 0;

    while (!feof(fp1))
    {
        //存储起点城市
        ch = fgetc(fp1);
        for (; ch != ','; ch = fgetc(fp1))
        {
            route[i].start_city += ch;
        }

        //存储终点城市
        ch = fgetc(fp1);
        for (; ch != ','; ch = fgetc(fp1))
        {
            route[i].end_city += ch;
        }

        //存储交通工具
        ch = fgetc(fp1);
        for (; ch != ','; ch = fgetc(fp1))
        {
            route[i].transport += ch;
        }

        //存储时间和花费
        fscanf(fp1, "%f,", &route[i].time);
        fscanf(fp1, "%f,", &route[i].cost);

        //存储其他信息
        ch = fgetc(fp1);
        for (; ch != '\n'; ch = fgetc(fp1))
        {
            route[i].other_info += ch;
        }
        i++;
    }
    
    return 0;
}




0x00007FF87FBCFDEC 处(位于 第一次实习.exe 中)引发的异常: Microsoft C++ 异常: std::bad_alloc,位于内存位置 0x000000D2F1AA91B0 处。
0x00007FF87FBCFDEC 处(位于 第一次实习.exe 中)有未经处理的异常: Microsoft C++ 异常: std::bad_alloc,位于内存位置 0x000000D2F1AA91B0 处。
  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-04-27 22:31
    关注
    评论

报告相同问题?

问题事件

  • 修改了问题 4月27日
  • 创建了问题 4月27日

悬赏问题

  • ¥15 matlab2017
  • ¥15 在vxWorks下TCP/IP编程,总是connect()报错,连接服务器失败: errno = 0x41
  • ¥15 AnolisOs7.9如何安装 Qt_5.14.2的运行库
  • ¥20 求:怎么实现qt与pcie通信
  • ¥50 前后端数据顺序不一致问题,如何解决?(相关搜索:数据结构)
  • ¥15 基于蒙特卡罗法的中介效应点估计代码
  • ¥15 罗技G293和UE5.3
  • ¥20 Tesla 特斯拉K80显卡 如果需要使用该设备,你需要禁用系统上的另一个设备。
  • ¥30 QT调用百度智能云千帆模型无法取得返回文本
  • ¥50 CCD工业视觉相机检测出现光边