Форум программистов, компьютерный форум CyberForum.ru

Чтение из файла в vector - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 37, средняя оценка - 4.81
adamo86
2 / 2 / 0
Регистрация: 10.04.2011
Сообщений: 185
16.08.2011, 11:12     Чтение из файла в vector #1
Есть файл "input.txt", который содержит пять чисел разделенных между собой пробелом. Необходимо все эти числа записать в вектор v_n. И вот как я это делаю:
C++
1
2
3
4
5
6
7
8
9
int i_n;
vector <int> v_n;
ifstream input("input.txt");
for(int i = 0; i < 5; i++)
{
input >> i_n;
v_n.push_back(i_n);
}
input.close();
Вопрос:
Можно ли записывать числа сразу в вектор без промежуточного считывания их в i_n?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.08.2011, 11:12     Чтение из файла в vector
Посмотрите здесь:

vector<Struct2{int,vector<struct1>}> или множественное наследование ... C++
Чтение из файла. Повторное чтение файла C++
C++ Заполнить контейнер map и vector данными из файла
C++ error LNK2019: ссылка на неразрешенный внешний символ "public: __thiscall Vector<int>::Vector<int>(void)" (?0?$Vector@H@@QAE@XZ) в функции _main
C++ Записать числа из файла в двумерный массив или вектор вроде такого vector<vector<int>>
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
diagon
Higher
 Аватар для diagon
1920 / 1186 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
16.08.2011, 11:17     Чтение из файла в vector #2
C++
1
2
3
vector<int> v_n(5);
for (int i = 0; i <  5; ++i)
  input >> v_n[i];
Все числа, находящиеся в файле можно записать еще так
C++
1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
#include <fstream>
#include <vector>
#include <iterator>
#include <algorithm>
int main(){
    std::fstream input("input.txt");
    std::vector<int> vec;
    std::copy(std::istream_iterator<int> (input), std::istream_iterator<int> (), std::back_inserter(vec) );
    std::copy(vec.begin(), vec.end(), std::ostream_iterator<int> (std::cout, " ") );
}
Net_Wanderer
235 / 208 / 19
Регистрация: 08.06.2011
Сообщений: 467
16.08.2011, 11:29     Чтение из файла в vector #3
C++
1
2
3
4
5
6
std::vector<int> v_n;
    
std::copy(
    std::istream_iterator<int>(input),
    std::istream_iterator<int>(),
    std::inserter(v_n, v_n.begin()));
kamish77777
0 / 0 / 0
Регистрация: 21.04.2014
Сообщений: 38
21.04.2014, 14:42     Чтение из файла в vector #4
вот так вот на много проще,не нужно забивать в голову сколько и чего у тебя в файле хранится)
int t = 0;
int n;
vector<int>MyVector;
ifstream file("input.txt");
while (!file.eof())
{
file >> n;
MyVector.push_back(n);
cout << n << endl;
}
file.close();

Добавлено через 4 минуты
C++
1
2
3
4
5
6
7
8
9
10
11
int t = 0;
    int n;
    vector<int>MyVector;
    ifstream file("input.txt");
    while (!file.eof())
    {
        file >> n;
        MyVector.push_back(n);
        cout << n << endl;
    }
    file.close();
cooller
 Аватар для cooller
564 / 532 / 120
Регистрация: 25.12.2013
Сообщений: 1,456
21.04.2014, 14:47     Чтение из файла в vector #5
Цитата Сообщение от kamish77777 Посмотреть сообщение
вот так вот на много проще,не нужно забивать в голову сколько и чего у тебя в файле хранится)
Проще чем что?
nmcf
4265 / 3696 / 1243
Регистрация: 14.04.2014
Сообщений: 14,479
21.04.2014, 14:49     Чтение из файла в vector #6
Чем итераторы.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.04.2014, 15:00     Чтение из файла в vector
Еще ссылки по теме:

C++ Как положить строку из файла в контейнер vector
C++ Читаю из файла в vector
Как можно увеличить размер вектора, который является элементом вектора vector<vector<int>>arr(n, vector <int>) C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
cooller
 Аватар для cooller
564 / 532 / 120
Регистрация: 25.12.2013
Сообщений: 1,456
21.04.2014, 15:00     Чтение из файла в vector #7
Цитата Сообщение от nmcf Посмотреть сообщение
Чем итераторы.
Не всегда проще, значит лучше! да и то не факт что проще
Yandex
Объявления
21.04.2014, 15:00     Чтение из файла в vector
Ответ Создать тему
Опции темы

Текущее время: 11:47. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru