передача объекта ifstream в функцию и использование getline () между - PullRequest
0 голосов
/ 17 апреля 2020

Я хочу открыть файл с именем 1.board, вызвав функцию и используя функцию getline, чтобы вывести ее символы на новую строку. Но это показывает много ошибок.

#include <iostream>
#include <string>
#include <vector>
#include <fstream>
using std::ifstream;
using std::cout;
using std::string;
using std::vector;

void ReadBoardFile(ifstream& search)
{
  string line;
  search.open("1.board");
  while(getline("1.board",line))
  {
    cout<<line<<"\n";
  }
}

int main() {
  ifstream fin;
  ReadBoardFile(fin);
}

Я не знаю Я не знаю, что я делаю неправильно. Я просто не могу найти идеальный и точный ответ. Помогите, если сможете. Спасибо !!!!!

1 Ответ

1 голос
/ 17 апреля 2020

Итак, ваш код переписан так, что он работает.

Два изменения: первый параметр getline должен быть первым потоком, который вы читаете, а не именем файла. Я предполагаю, что вы просто не концентрировались, когда писали это.

Второе изменение, я переместил переменную потока search так, чтобы она была локальной для вашей ReadBoardFile функции. В коде, который вы опубликовали, нет причин передавать его в качестве параметра. Возможно, вы захотите передать имя файла в качестве параметра, но я оставлю вас, чтобы внести это изменение.

void ReadBoardFile()
{
  ifstream search("1.board");
  string line;
  while(getline(search,line))
  {
    cout<<line<<"\n";
  }
}

int main() {
  ReadBoardFile();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...