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

Чтение файла построчно - C++

Восстановить пароль Регистрация
 
parkito
 Аватар для parkito
11 / 11 / 2
Регистрация: 22.03.2010
Сообщений: 685
03.10.2013, 17:37     Чтение файла построчно #1
Требуется занести в массивы строчки. В каждый массив своя строчка. Для этого решил использовать массив объектов.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#include<iostream>
#include<fstream>
using namespace std;
const int def = 10000; 
class arr
{private:
int a[def],m;
public:
    arr():m(8)
    {}
    void vvod()
    {
    int n=0;
    ifstream in;    
    in.open("in.txt");
    while (!in/eof())
    {
        in>>a[n];
        cout<<a[n]<<" ";
        n++;
    }
    in.close();
    }
    
};
int main()
{   int l=4,d;
    arr b[20]; 
    setlocale(LC_ALL, "Rus");
    for(int j=0;j<l;j++)
    {
    b[j].vvod();
    }
    cin.get();
    cin.get();
        return 0;
    }
Проблема в том, что в первый массив идет весь файл. Мне же нужно чтобы в него входила лишь первая строка. Во второй вторая и т.п.

Каким образом можно организовать это условие
C++
1
while (!in/eof())
Исходный файл

C++
1
2
3
4
5 5 5 5 5 5 5 5
8 7 7 7 1 7 3 7
7 1 6 5 10 100 1000 1
5 1 6 7 1 1 10 1
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
BuGi
24 / 24 / 1
Регистрация: 02.01.2012
Сообщений: 371
03.10.2013, 17:41     Чтение файла построчно #2
Используй getline
parkito
 Аватар для parkito
11 / 11 / 2
Регистрация: 22.03.2010
Сообщений: 685
03.10.2013, 17:43  [ТС]     Чтение файла построчно #3
Каким образом с массивом его сделать?
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4919 / 2662 / 243
Регистрация: 29.11.2010
Сообщений: 7,399
03.10.2013, 17:44     Чтение файла построчно #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <fstream>
#include <vector>
#include <string>
#include <algorithm>
#include <iterator>
 
typedef std::vector<std::string> vec_str;
typedef std::ostream_iterator<std::string> output_str;
 
int main()
{
    std::ifstream ifs("input.txt");
    if (!ifs) return 1;
    vec_str v;
    for (std::string str; std::getline(ifs, str); v.push_back(str));
 
    std::copy(v.begin(), v.end(), output_str(std::cout, "\n"));
}
Yandex
Объявления
03.10.2013, 17:44     Чтение файла построчно
Ответ Создать тему
Опции темы

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