Я должен прочитать из текстового файла, который содержит кучу двоичных чисел, а затем преобразовать их в целые числа и сохранить их в массиве. Я сделал функцию для этого, однако функция возвращает только одно число. Кажется, он не проходит через файл, или он просто не работает. Может ли кто-нибудь понять, почему?
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
.
for(unsigned long int result = 0;....
и является лиstrtol
правильной функцией для перехода от двоичной строки к целому числу? Спасибо за помощь