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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 58, средняя оценка - 4.91
Folcstret
0 / 0 / 0
Регистрация: 28.11.2009
Сообщений: 6
#1

Не работает getline(cin,s), istream.ignore() - C++

15.12.2009, 23:13. Просмотров 9304. Ответов 12
Метки нет (Все метки)

Использую microsoft visual c++ 6.0.
не работает:
string s;
getline(cin,s);//дважды приходиться жать ентер

При использовании cin.ignore(255,'\n') аналогичная ситуация

Также ifstream.ignore(255,<любой символ>)-вообще не работает.
Кто решал такую проблему, помогите чем могите.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.12.2009, 23:13
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Не работает getline(cin,s), istream.ignore() (C++):

Метод getline(cin, m) не срабатывает без cin.ignore() / Ревью кода - C++
Почему в моем случае getline(cin, m) не срабатывает без cin.ignore() ? Если по коду есть какие-нибудь замечания, то просьба написать что не...

Друзья getline и cin.ignore - C++
Постараюсь как можно более точно обрисовать проблему. Имеется string * v1 = new string; string * v2 = new string; string * v3 = new...

cin.getline и cin.ignore - C++
Есть кусок кода в котором не могу разобраться. Если cin.ignore() есть, то теряется первый вводимый символ начиная со второго входа в for....

Как работает Cin.ignore() - C++
Дочитал до главы &quot;Потоки и файлы&quot; и с первого примера началось не понимание. Вот пример: #include &lt;iostream&gt; using namespace...

Не работает ни cin.Get(), ни cin.Getline() - C++
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &quot;conio.h&quot; #include &quot;windows.h&quot; #include &quot;string.h&quot; using namespace::std; const...

Как работает cin.ignore(), именно в том случае, когда он написан без параметров? - C++
Объясните, пожалуйста, как работает cin.ignore(), именно в том случае, когда написан без параметров заранее спасибо!

12
Monte-Cristo
2794 / 1380 / 30
Регистрация: 07.03.2009
Сообщений: 4,446
15.12.2009, 23:38 #2
Цитата Сообщение от Folcstret Посмотреть сообщение
string s;
getline(cin,s);//дважды приходиться жать ентер
в этой ситуации точно один... приведите весь код..
0
Андрейка
421 / 225 / 27
Регистрация: 25.03.2009
Сообщений: 744
15.12.2009, 23:49 #3
Folcstret, а не уж то у вас в конце system("pause"); ??
0
outoftime
║XLR8║
756 / 656 / 88
Регистрация: 25.07.2009
Сообщений: 3,289
Записей в блоге: 5
16.12.2009, 02:18 #4
по коду видно будет.. это ведь не секретная разработка))
0
Folcstret
0 / 0 / 0
Регистрация: 28.11.2009
Сообщений: 6
16.12.2009, 09:47  [ТС] #5
Да хотя бы даже так:

C++
1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
#include <string>
using namespace std;
 
void main(){
    string s,t;
    getline(cin,s);
    cout<<s<<endl;
    getline(cin,t); 
    cout<<t<<endl;
}

Резльтат работы:

Код
1 2 3
4 5 6
1 2 3
7 8 9
4 5 6
Ввожу "1 2 3", жму ентер, курсор прыгает на следующую строку. Опять ввожу "4 5 6", жму ентер, прога выдаёт "1 2 3", курсор прыгает на следующую строку.Ввожу "7 8 9", жму ентер, прога выдаёт "4 5 6".
0
Monte-Cristo
2794 / 1380 / 30
Регистрация: 07.03.2009
Сообщений: 4,446
16.12.2009, 10:23 #6
Цитата Сообщение от Folcstret Посмотреть сообщение
#include <iostream> #include <string> using namespace std; void main(){ string s,t; getline(cin,s); cout<<s<<endl; getline(cin,t); cout<<t<<endl; }
результат выполнения программы:
123
123
456
456
0
Folcstret
0 / 0 / 0
Регистрация: 28.11.2009
Сообщений: 6
16.12.2009, 14:20  [ТС] #7
Monte-Cristo, а это в каком компиляторе??
0
outoftime
║XLR8║
756 / 656 / 88
Регистрация: 25.07.2009
Сообщений: 3,289
Записей в блоге: 5
16.12.2009, 18:52 #8
у меня в вижуале getline не пахало для ввода с консоли, только с файлом пашет
0
M128K145
Эксперт JavaЭксперт С++
8320 / 3540 / 143
Регистрация: 03.07.2009
Сообщений: 10,708
16.12.2009, 19:17 #9
C++
1
getline(std::cin, s, '\n');
0
Folcstret
0 / 0 / 0
Регистрация: 28.11.2009
Сообщений: 6
16.12.2009, 19:56  [ТС] #10
M128K145, не работает, тот же результат
0
M128K145
Эксперт JavaЭксперт С++
8320 / 3540 / 143
Регистрация: 03.07.2009
Сообщений: 10,708
16.12.2009, 20:17 #11
Folcstret, все работает. Может имеет смысл пересесть за что-нибудь более полезное чем шестая студия?
0
Monte-Cristo
2794 / 1380 / 30
Регистрация: 07.03.2009
Сообщений: 4,446
16.12.2009, 20:50 #12
Цитата Сообщение от Folcstret Посмотреть сообщение
Monte-Cristo, а это в каком компиляторе??
в нормальном... в MinGW...
но это должно работать в любом... если не работает - ф топку компилятор..

работать не может только в одном случае, если ты до ввода еще осуществляешь манипуляции (могут остаться символы в потоке ввода.. тогда нужно поток почистить...)
0
Folcstret
0 / 0 / 0
Регистрация: 28.11.2009
Сообщений: 6
16.12.2009, 21:46  [ТС] #13
В общем, просьба писать тех, кто знает, что-нибудь про эти глюки MS Visual C++ 6.0. Я где-то видел, что это ошибка в какой-то библиотеке.
0
16.12.2009, 21:46
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.12.2009, 21:46
Привет! Вот еще темы с ответами:

Для чего в код вводится cin.ignore после того, как cin>> уже сработало? - C++
Доброго времени суток! Просматриваю простой код. Вводится строка типа string: фунты и дюймы Затем значения переводится в типы int и...

Не работает cin.getline(buf, 20); - C++
Товарищи подскажите почему не работает cin.getline(buf, 20);? Проблема в том что я хочу ограничить ввод до 20 символов но оно не...

Не работает. cin.getline(string,200); - C++
Я создаю проект. Все работает кроме одного cin.getline(string,200), почему? Когда запускаю этот Task3 в отдельном проекте все есть, но...

cin.getline работает через раз - C++
вот этот код работает прекрасно #include &lt;iostream&gt; using namespace std; void Open_Directory() { char *directory= new char; ...


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

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

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