Чтение std::ifstream в вектор строкC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Чтение std::ifstream в вектор строк

Сообщение Anonymous »

Как мне прочитать файл, где каждая строка представляет собой одно число, а затем вывести это число в вектор строк?

например: file.txt содержит:

Код: Выделить всё

314
159
265
123
456
Я пробовал эту реализацию:

Код: Выделить всё

vector ifstream_lines(ifstream& fs) {
vector out;
int temp;
getline(fs,temp);
while (!fs.eof()) {
out.push_back(temp);
getline(fs,temp);
}
fs.seekg(0,ios::beg);
fs.clear();
return out;
}
но когда я пытаюсь скомпилировать, я получаю такие ошибки, как:

Код: Выделить всё

error C2784: 'std::basic_istream &std::getline
(std::basic_istream &,std::basic_string &)' :
could not deduce template argument for 'std::basic_istream &' from 'std::ifstream'
Итак, очевидно, что-то не так. Есть ли более элегантное решение, чем то, что я пытаюсь? (При условии, что сторонние библиотеки, такие как Boost, недоступны)

Спасибо!

Подробнее здесь: https://stackoverflow.com/questions/167 ... r-of-lines
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»