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

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

Войти
Регистрация
Восстановить пароль
 
Whiteha
Программист
33 / 33 / 4
Регистрация: 08.07.2011
Сообщений: 190
Записей в блоге: 1
#1

Глики при вводе с getline() - C++

03.02.2012, 12:46. Просмотров 327. Ответов 2
Метки нет (Все метки)

Есть кусок кода:
C++
1
2
3
4
5
6
7
8
9
10
11
12
    unsigned n(0);
    cin >> n;
    string *str = new string[n];
    char s_buf[31];
    set <string> s;
    for (int i = 0; i < n; i++)
    {
        cin.getline(s_buf, 31);
        cin.ignore();
        str[i] = s_buf;
        s.insert(str[i]);
    }
Вопрос - как сделать чтобы в s и str[i] попадали слова целиком без обрезаний из-за глюков getline()?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.02.2012, 12:46
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Глики при вводе с getline() (C++):

Почему при вводе числа программа работает нормально, а при вводе буквы уходит в бесконечный цикл? - C++
void mainmenu() { cout &lt;&lt; &quot;Введи число&quot; &lt;&lt; endl; cin &gt;&gt; choice; if (choice == 1) { cout &lt;&lt; &quot;Hello&quot; &lt;&lt; endl; } ...

Составить программу, которая при вводе символа с клавиатуры выво-дит "латинская буква" при вводе латинской буквы и "не латинская бук-ва" во всех остал - C++
Составить программу, которая при вводе символа с клавиатуры выво-дит &quot;латинская буква&quot; при вводе латинской буквы и &quot;не латинская бук-ва&quot;...

При использовании getline ввод при Enter заканчивается только после пробела - C++
int main() { string slovo; double n; while(slovo != &quot;пока&quot; ) { getline (cin,slovo,' '); if (slovo ==...

Отличие getline() от cin.getline() - C++
Чем отличается getline() от cin.getline() ?

При использовании getline не работает eof - C++
while(!file.eof()) { getline(file,dv_tmp.name); file &gt;&gt;dv_tmp.profit &gt;&gt;dv_tmp.count_worker; mdv.push_back(dv_tmp); } ...

Безконечый цикл при использовании cin и getline() - C++
Здравствуйте, Есть вот такой простенький кусок кода: string tempid; string tempname; string tempa; ...

2
silent_1991
Эксперт С++
5006 / 3064 / 149
Регистрация: 11.11.2009
Сообщений: 7,043
Завершенные тесты: 1
03.02.2012, 12:50 #2
Whiteha, о каких глюках идёт речь?
0
Whiteha
Программист
33 / 33 / 4
Регистрация: 08.07.2011
Сообщений: 190
Записей в блоге: 1
03.02.2012, 12:51  [ТС] #3
А не, пришло озарение, тему можно делитить.
А cin.ignore(); надо на 3 строчку.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.02.2012, 12:51
Привет! Вот еще темы с ответами:

При повторных итерация цикла, функция getline не работает - C++
Здравствуйте. Подскажите пожалуйста. Цель данного куска кода - ввод названия (артикула) товара. До getline я использовал простой cin, но...

Cin.getline() не работает при динамическом выделении памяти - C++
Почему в таком коде cin.getline() работает не так как надо? Если очистить поток, то будет все нормально. #include &lt;iostream&gt; using...

При множественном наследовании не работает getline(std::cin, ?) - C++
Изучаю множественное наследование, так вот, нужно ввести два слова, но программа просто пропускает getline (std::cin, ?) Когда так при...

Почему портится поток cin при использовании функции getline - C++
char a; cin.getline(a,5); cin.clear(); При вводе свыше 5 символов после функции getline надо вызывать функцию clear() иначе...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

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