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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 37, средняя оценка - 4.81
adamo86
2 / 2 / 0
Регистрация: 10.04.2011
Сообщений: 185
#1

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

16.08.2011, 11:12. Просмотров 5788. Ответов 6
Метки нет (Все метки)

Есть файл "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?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.08.2011, 11:12
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Чтение из файла в vector (C++):

Записать числа из файла в двумерный массив или вектор вроде такого vector<vector<int>> - C++
Добрый день, подскажите пожалуйста как лучше и проще считывать файл. в файле записаны числа, разделенные пробелами и запятыми: 1, 2, 3,...

error LNK2019: ссылка на неразрешенный внешний символ "public: __thiscall Vector<int>::Vector<int>(void)" (?0?$Vector@H@@QAE@XZ) в функции _main - C++
//Vector.h #include &lt;iostream&gt; #include &lt;Windows.h&gt; #include &lt;climits&gt; #include &lt;vector&gt; #include &lt;stdlib.h&gt; #include &lt;fstream&gt;...

Как можно увеличить размер вектора, который является элементом вектора vector<vector<int>>arr(n, vector <int>) - C++
Написал программу, которая создает вектор 'а' векторов 'b', вектора 'b' содержат 2 числа. Стало интересно, как нужно изменить программу...

Переделать в коде чтение из файла в чтение с клавиатуры - C++
Переделайте что бы текст считывался с клавиатуры, а не с файла! Буду благодарен за помощь! //файл должен начинаться со слова, между...

Читаю из файла в vector - C++
Всем доброго времени суток, пытаюсь считать файл в вектор... Но трабл, в вектор всегда пишется ноль, не могу понять где косяк... В коде...

Заполнение vector из файла - C++
Надо заполнить вектора из файла. Файл выглядит примерно так. 10 85 m356df78 250 15 90 m346gh78 250 27 125 m369f98 250 56 35...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
diagon
Higher
1929 / 1195 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
16.08.2011, 11:17 #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, " ") );
}
1
Net_Wanderer
235 / 208 / 19
Регистрация: 08.06.2011
Сообщений: 467
16.08.2011, 11:29 #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()));
2
kamish77777
0 / 0 / 0
Регистрация: 21.04.2014
Сообщений: 40
21.04.2014, 14:42 #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();
0
cooller
565 / 533 / 120
Регистрация: 25.12.2013
Сообщений: 1,456
21.04.2014, 14:47 #5
Цитата Сообщение от kamish77777 Посмотреть сообщение
вот так вот на много проще,не нужно забивать в голову сколько и чего у тебя в файле хранится)
Проще чем что?
0
nmcf
5319 / 4639 / 1551
Регистрация: 14.04.2014
Сообщений: 18,452
21.04.2014, 14:49 #6
Чем итераторы.
0
cooller
565 / 533 / 120
Регистрация: 25.12.2013
Сообщений: 1,456
21.04.2014, 15:00 #7
Цитата Сообщение от nmcf Посмотреть сообщение
Чем итераторы.
Не всегда проще, значит лучше! да и то не факт что проще
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.04.2014, 15:00
Привет! Вот еще темы с ответами:

Ошибка с записью в vector из файла - C++
Доброго времени суток. Проблема с считыванием слов из текстового файла в функции read_file - считывает последнее слово файла дважды. ...

Чтение из файла. Повторное чтение файла - C++
Добрый день. Необходимо реализовать в программе функцию повторного чтения данных из файла, в случае некорректного ввода их в оный. Вот...

Заполнить контейнер map и vector данными из файла - C++
Текстовый файл содержит в себе информацию о пяти лифтах в виде: 12 900 first 10 600 second 15 700 third 20 1000 fourth 16 800...

Как положить строку из файла в контейнер vector - C++
Нужно считать строки из файла, и все строки, начинающиеся на &quot;a, c, e...&quot; в контейнер vector положить, а другие строки на &quot;b, d, f...&quot; в...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
21.04.2014, 15:00
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru