Вы читаете до конца файла, поэтому неудивительно, что нет никаких значений, оставшихся для чтения. Вам нужно сбросить указатель чтения, если вы хотели прочитать это значение с начала файла:
loadfile.seekg(0, std::ios::beg);
Это немного необычно, чтобы сделать перекличку линии, как это и затем вернуться, чтобы прочитать данные, так как он не может быть переведены в общий поток (например, если ваша программа должна была получать данные на стандартном вводе). При синтаксическом анализе на основе строки обычно используется следующий шаблон:
int line_count = 0;
for(std::string line; std::getline(loadfile, line);)
{
++line_count;
std::istringstream iss(line);
// Read values on current line from 'iss'.
}
// Now that you're finished, you have a line count.
Я пытаюсь прочитать данные в вектор, поэтому я думаю об инициализации вектора с количеством данных/строк. – askingtoomuch
Ну, вектор _will_ будет расти, когда вы используете 'push_back'. Вам не нужно строго устанавливать его на этот размер, если только у вас нет особых причин сделать это для абсолютно необходимой оптимизации. Имейте в виду, что стоимость динамического изменения размера вектора значительно меньше стоимости чтения файла в два раза. – paddy