我必须从包含一堆二进制数的文本文件中读取,然后将它们转换为整数并将它们存储在数组中。我已经做了一个函数来执行此操作,但是,该函数只返回一个数字。它似乎没有通过文件,或它只是不起作用。任何人都可以找出原因吗?
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";
}
}
提前致谢!
答案 0 :(得分:1)
您遇到的问题是您使用空vector
并尝试为其元素分配内容。
您需要使用
intArray.push_back(result);
您需要先初始化result
。