не дружат cin и getchar (после использования cin getchar игнорируется)

Модератор: Модераторы разделов

Ответить
mokynis
Сообщения: 48
ОС: KUbuntu 7.10

не дружат cin и getchar

Сообщение mokynis »

помогите разобраться, что за ерунда: сам полдня уже бьюсь и ничего так и не понял. Вот программка

Код: Выделить всё

#include <iostream>
#include <stdio.h>

using namespace std;

int main()
{
    const int len=20;
    char sss[len],let=' ';
/*
    int what_run=1;
    cout<<"enter task #:";
    cin>>what_run;
    if(what_run<1 || what_run>15)
    {
        cout<<"Good bye!"<<endl;
        return 1;
    }
*/
    cout<<"get text: \n";
    for(int i=0;i<len;i++)
    {
       let=getchar();
       if(let!='\n')
       {
            sss[i]=let;
       }
       else
       {
            sss[i]='\0';
            break;
       }
   }
   cout<<"str="<<sss<<";"<<endl;
   return 1;
}
Примитив. Но если раскомментировать верхние строки, то getchar просто игнорируется. Пробовал и getline, и cin.getline-не-а! не работает. Как будто вообще ничего там не написано. В чем дело, может кто-то подсказать?
P.S. система-Ubuntu 9.10, компилятор g++. Хотя, думаю, это не важно
Спасибо сказали:
Аватара пользователя
Crazy
Сообщения: 862
Статус: Адепт Дзен.
ОС: Mint, Win7.

Re: не дружат cin и getchar

Сообщение Crazy »

В веди такую строку:

и подумай над результатом.

Desipere in loco
Спасибо сказали:
Ответить