0

我必须从包含一堆二进制数的文本文件中读取,然后将它们转换为整数并将它们存储在数组中。我已经创建了一个函数来执行此操作,但是,该函数只返回一个数字。它似乎没有通过文件,或者它只是不起作用。谁能弄清楚为什么?

void readf4()
{
    std::ifstream inFile("f4.txt");
    std::vector<int> intArray;
    std::string line;
    //unsigned num = 0;
    int inc = 0;
    char * pEnd;
    for(unsigned long int result; std::getline(inFile,line); result = strtol(line.c_str(),&pEnd,10))
    {
        //seg fault if I include these lines
        //intArray[inc] = result;
        //inc++;

        cout<<result;//always returns 9223372036854775807
        cout<<"\n";
    }
}

提前致谢!

4

1 回答 1

1

您遇到的问题是您使用空vector并尝试为其元素分配一些东西。

你需要使用

intArray.push_back(result);

你需要先初始化result

于 2013-10-12T00:44:21.170 回答