0

一連の 2 進数を含むテキスト ファイルから読み取り、それらを整数に変換して配列に格納する必要があります。これを行う関数を作成しましたが、関数は 1 つの数値しか返しません。ファイルを通過していないように見えるか、機能していません。誰でも理由を理解できますか?

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 に答える