我必须从一个包含一堆二进制数的文本文件中读取数据,然后将它们转换为整数并将它们存储在一个数组中。我已经创建了一个函数来执行此操作,但是该函数只返回一个数字。它似乎没有通过文件,或者它只是不起作用。谁能知道为什么?
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";
}
}
提前致谢!
最佳答案
您遇到的问题是您使用了一个空的 vector
并尝试为其元素分配一些内容。
你需要使用
intArray.push_back(result);
你需要先初始化result
。
关于c++ - 使用 strtoll 从二进制字符串转换为 int?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19329053/