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

Как извлечь массив строк из потока? - C++

Восстановить пароль Регистрация
 
mhg
2 / 2 / 2
Регистрация: 21.04.2013
Сообщений: 185
13.04.2014, 16:55     Как извлечь массив строк из потока? #1
C++
1
2
3
4
5
6
7
8
    int n;
    std::cin>>n;        //кол-во строк
 
    std::string *mas = new std::string[n];     //массив под строки
    for (int i=0; i<n;i++)
    {
        std::cin >> mas[i];    //тут ошибка, не понимаю почему
    }
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Arigato
Программист
 Аватар для Arigato
278 / 175 / 94
Регистрация: 05.12.2013
Сообщений: 570
Записей в блоге: 5
13.04.2014, 17:06     Как извлечь массив строк из потока? #2
А модуль подключен?

C++
1
#include <string>
cooller
 Аватар для cooller
564 / 532 / 120
Регистрация: 25.12.2013
Сообщений: 1,456
13.04.2014, 17:08     Как извлечь массив строк из потока? #3
mhg,
C++
1
std::getline(std::cin, mas[i]) ;
И перед циклом поставь std::cin. ignore ()
mhg
2 / 2 / 2
Регистрация: 21.04.2013
Сообщений: 185
13.04.2014, 17:23  [ТС]     Как извлечь массив строк из потока? #4
спасибо, но после ввода 1 строки, 2 уже не вводится

Добавлено через 26 секунд
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
#include <string>
 
int main()
{
    int n;
    std::cin>>n;
    std::string *mas = new std::string[n];
 
    std::cin. ignore ();
    for (int i=0; i<n;i++)
    {
 
        std::getline(std::cin, mas[i]) ;
    }
    
    return 0;
}
Arigato
Программист
 Аватар для Arigato
278 / 175 / 94
Регистрация: 05.12.2013
Сообщений: 570
Записей в блоге: 5
13.04.2014, 17:31     Как извлечь массив строк из потока? #5
Все работает:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
#include <string>
 
 
int main()
{
    int n;
    std::cin>>n;        //кол-во строк
 
    std::string *mas = new std::string[n];     //массив под строки
    
    std::cin. ignore ();
    for (int i=0; i<n;i++)
    {
        std::getline(std::cin, mas[i]);
    }
    for (int i=0; i<n;i++)
    {
        std::cout<< mas[i]<<std::endl;
    }
    system("pause");
 
}
cooller
 Аватар для cooller
564 / 532 / 120
Регистрация: 25.12.2013
Сообщений: 1,456
13.04.2014, 17:37     Как извлечь массив строк из потока? #6
Цитата Сообщение от mhg Посмотреть сообщение
спасибо, но после ввода 1 строки, 2 уже не вводитс
у меня все норм
Миниатюры
Как извлечь массив строк из потока?  
mhg
2 / 2 / 2
Регистрация: 21.04.2013
Сообщений: 185
13.04.2014, 17:40  [ТС]     Как извлечь массив строк из потока? #7
после того как ввожу первую строку вылазит ошибка - на скриншоте

это в visual studio
Миниатюры
Как извлечь массив строк из потока?   Как извлечь массив строк из потока?  
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.04.2014, 17:46     Как извлечь массив строк из потока?
Еще ссылки по теме:

Дан текстовый файл. Извлечь из файла цифры записать их в массив C++
C++ Как перевести массив строк в массив int
C++ Как запихнуть массив строк в класс?

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

Или воспользуйтесь поиском по форуму:
mhg
2 / 2 / 2
Регистрация: 21.04.2013
Сообщений: 185
13.04.2014, 17:46  [ТС]     Как извлечь массив строк из потока? #8
уже все хорошо
Yandex
Объявления
13.04.2014, 17:46     Как извлечь массив строк из потока?
Ответ Создать тему
Опции темы

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