C++ 无法从文件中读取并加载到矢量中

C++ Can't read from file and load into vector

本文关键字:加载 读取 文件 C++      更新时间:2023-10-16

问题是我有一个文本文件,有 1,000,000 到 10,000,000 行 - 每行都有一个十进制值。

我尝试了以下代码:

    ifstream inData;
    inData.open("file.txt");
    std::vector<double> v1v;
    double s;
    while(inData>>s){
        v1v.push_back(s);
        cout << "Success" << endl;
    }

但它似乎根本没有填满我的矢量。我也尝试过这种方法(请注意文件中的行数为 1048570):

    double a1[1048570];
    ifstream inData;
    inData.open("file.txt");
    for (int i=0;i<1048570;i++){
        inData >> a1[i];
    }inData.close();

我不明白为什么它不起作用,它正在运行,但矢量中没有存储任何东西。

您使用的是什么 IDE?在某些 IDE 中,可能需要将要从中读取的文件放在项目的主文件夹(而不是源代码文件夹中)中。在 Eclipse 中,您需要将文件放在创建空 C 项目时看到的文件夹中。尝试导航到存储已编译可执行文件的文件夹,将文件放置在那里,然后运行它。另外,您是否尝试过调试?