C ++ строка ifstream - PullRequest
       13

C ++ строка ifstream

0 голосов
/ 11 марта 2012

В файле у меня есть пара имен в каждой строке.Вот так:

Джон Дейв

Антуан Герда

Сара Матх

и так далее ...

Что я хочу сделатьчтобы вывести эту пару в одну строку.Например:

string pairs[100];
ifstream inFile("duom.txt");
int n; //how many pairs

inFile >> n;
for(int i=1;i<=n;i++){
    inFile >> pairs[i];
}

Это не работает, потому что реагирует на пробел.

getline(inFile,pairs[i]);

недопустимо, так как пропускает код после.

Поэтому мой вопрос: будет ли возможность прочитать эти 2 имени в одну строку?

1 Ответ

3 голосов
/ 11 марта 2012

проблема не в getline, которая подходит для вашей задачи, а в индексации.Вы должны начать с 0

for(int i=0;i < n;i++){
    getline(inFile, pairs[i]);
}

edit : как отметил Kerrek SB, может быть ошибка.после inFile >> n мы должны пропустить новую строку: добавив пустышку getline(inFile, pairs[0]);, можно от нее избавиться.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...