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

Считать из файла и записать массив - C++

Восстановить пароль Регистрация
 
Raviol
0 / 0 / 0
Регистрация: 10.12.2013
Сообщений: 9
13.02.2014, 22:28     Считать из файла и записать массив #1
вопрос в комментарии, подскажите пожалуйста
C++ (Qt)
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
#include <iostream>
using namespace std;
struct book
{
    string name;
    int year;
    string author;
    int id;
}
;
int main()
{
    book s1;
    ifstream s("ReadMe1.txt");
    string c;
    getline(s,c);
    int N1 = Parse(c);
 
    string *spisok_knig = new string[N1];
        for (int i = 0; i < N1; i++) 
        getline(s,spisok_knig[i]); 
    book *books = new book[N1];
    for(int i=0;i<N1;i++)
    {
        /* как здесь записать в books[i].id, books[i].name, books[i].author, books[i].year из массива    
           spisok_knig[i] по отдельности*/
         //пример строки spisok_knig[0]="23 MasterIMargarita Bulgakov 1967"
    }
    
    return 0;
    
}
Добавлено через 20 минут
Код с++)
Лучшие ответы (1)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
metaluga145
243 / 244 / 20
Регистрация: 08.04.2013
Сообщений: 927
13.02.2014, 22:28     Считать из файла и записать массив #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Raviol,
C++
1
2
3
4
5
6
7
for(int i=0;i<N1;i++)
{
    s >> books[i].id;
    s >> books[i].name;
    s >> books[i].author;
    s >> books[i].year;
}
только Вы до этого читали через getline, предполагаю, что надо перевести курсор для чтение на начало потока. это можно сделать таким кодом(вставить до цикла)
C++
1
s.seekg(ios_base::beg);
Raviol
0 / 0 / 0
Регистрация: 10.12.2013
Сообщений: 9
13.02.2014, 22:37  [ТС]     Считать из файла и записать массив #3
metaluga145,
получается что для записи
C++
1
2
3
4
5
6
7
for(int i=0;i<N1;i++)
{
    s >> books[i].id;
    s >> books[i].name;
    s >> books[i].author;
    s >> books[i].year;
}
можно обойтись без массива?
C++
1
2
3
string *spisok_knig = new string[N1];
        for (int i = 0; i < N1; i++) 
        getline(s,spisok_knig[i]);
metaluga145
243 / 244 / 20
Регистрация: 08.04.2013
Сообщений: 927
13.02.2014, 22:41     Считать из файла и записать массив #4
Raviol, да, можно обойтись без него, только тогда не надо позиционировать на начало файла, а просто сразу написанный мною цикл выполнять)
Raviol
0 / 0 / 0
Регистрация: 10.12.2013
Сообщений: 9
13.02.2014, 22:45  [ТС]     Считать из файла и записать массив #5
Спасибо большое)
Yandex
Объявления
13.02.2014, 22:45     Считать из файла и записать массив
Ответ Создать тему
Опции темы

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