С++ Нужна Помощь

avatar Aloe Armor

94

3

Aloe Armor

Пользователь

Регистрация: 14.05.2017

Сообщения: 748

Рейтинг: 382

Aloe Armor

Регистрация: 14.05.2017

Сообщения: 748

Рейтинг: 382

Всем ку, помогите плз. У меня есть текстовый файл следущего формата:

1) room 1

2) 

3) item1 room 2

4) item2 room 3

5) item3 room 4

6)

7) item4 room 1

8) item 5 room 2

 

Первая строка всегда одна, после нее всегда пустая строка. 

Дальше идет N количество строк и после них еще одна пустая строка.

Дальше идет еще N количество строк и файл заканчивается.

 

Мне нужно "разделить" все это. Например сделать стринг где будет 1ая строка и 2а вектора в которых будет 2ая и 3ая часть без пустых строк (они в качестве разделителя).

 

Я пробовал делать через:

 

while(getline(x, y)) {

           if (line.empty(){

                 break

               }

        }

 

Но в таком случае как потом возобновить чтение файла с нужного места?

ETOJEPANIROVKA

Пользователь

Регистрация: 17.04.2013

Сообщения: 349

Рейтинг: 239

ETOJEPANIROVKA

Регистрация: 17.04.2013

Сообщения: 349

Рейтинг: 239

Aloe Armor сказал(а):

Всем ку, помогите плз. У меня есть текстовый файл следущего формата:

1) room 1

2) 

3) item1 room 2

4) item2 room 3

5) item3 room 4

6)

7) item4 room 1

8) item 5 room 2

 

Первая строка всегда одна, после нее всегда пустая строка. 

Дальше идет N количество строк и после них еще одна пустая строка.

Дальше идет еще N количество строк и файл заканчивается.

 

Мне нужно "разделить" все это. Например сделать стринг где будет 1ая строка и 2а вектора в которых будет 2ая и 3ая часть без пустых строк (они в качестве разделителя).

 

Я пробовал делать через:

 

while(getline(x, y)) {

           if (line.empty(){

                 break

               }

        }

 

Но в таком случае как потом возобновить чтение файла с нужного места?

Нажмите, чтобы раскрыть...

 if (line.empty(){

                 continue

               }

pepeshapka.png

Just_a_fire

Пользователь

Регистрация: 09.03.2016

Сообщения: 3597

Рейтинг: 3090

Just_a_fire

Регистрация: 09.03.2016

Сообщения: 3597

Рейтинг: 3090

Лучше создай класс Room с полем 

std::vector < int >

куда будешь пушить свои айтемы

Aloe Armor

Пользователь

Регистрация: 14.05.2017

Сообщения: 748

Рейтинг: 382

Aloe Armor

Регистрация: 14.05.2017

Сообщения: 748

Рейтинг: 382

ETOJEPANIROVKA сказал(а):

 if (line.empty(){

                 continue

               }

pepeshapka.png

Нажмите, чтобы раскрыть...

чет бред получается если добавлять это в while loop