Прочитайте одну строку из файла .txt и вставьте в переменную

Я пытаюсь написать программу, которая будет читать только первую строку моего текстового файла, а затем вводить это число в переменную int. Но я запутался, как это сделать.

    int highscore; // Starting highscore

  ifstream myfile ("highscore.txt");
  if (myfile.is_open())
  {
    while ( myfile.good() )
    {
      getline(myfile,highscore);
      cout << highscore << endl;
    }
    myfile.close();
  }

Но почему-то получаю ошибку. |25|error: no matching function for call to 'getline(std::ifstream&, int&)'|


person soniccool    schedule 05.11.2012    source источник
comment
чтобы найти пространство имен функции getline, например, std::ifstream   -  person billz    schedule 05.11.2012
comment
std:: - это пространство имен, из которого берется getline, если вы не сделали using namespace standard, вам нужно использовать std перед вызовом getline   -  person Fantastic Mr Fox    schedule 05.11.2012


Ответы (1)


Если вы замените getline на:

if (myfile >> highscore)
    cout << "Read " << highscore << '\n';
else
    cout << "Couldn't read an int\n";

Вы сможете прочитать int в highscore. Вы обязаны использовать getline?

person John Carter    schedule 05.11.2012
comment
Работает идеально, но я настроил его, но без операторов if и else :), так почему же getline не работает? - person soniccool; 05.11.2012
comment
Ответ Billz объясняет это довольно хорошо. Сначала вам нужно прочитать его в строку, а затем преобразовать в int. - person John Carter; 05.11.2012