преобразование из двоичной строки в int с использованием strtoll?

Я должен прочитать из текстового файла, который содержит набор двоичных чисел, а затем преобразовать их в целые числа и сохранить их в массиве. Я сделал функцию для этого, однако функция возвращает только одно число. Кажется, он не просматривает файл или просто не работает. Кто-нибудь может понять, почему?

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

Решение

Проблема в том, что вы используете пустой vector и попытаться присвоить что-то своему элементу.

Вам нужно использовать

intArray.push_back(result);

И вам нужно инициализировать result первый.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]