не дружат cin и getchar

Все о программировании под *nix
mokynis
Заглянувший
Сообщения: 12
Зарегистрирован: 05 июл 2010, 08:08

не дружат 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. Хотя, думаю, это не важно

mokynis
Заглянувший
Сообщения: 12
Зарегистрирован: 05 июл 2010, 08:08

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

Сообщение mokynis »

все, тема закрыта. Если кому интересно, решение есть тут: http://www.cyberforum.ru/cpp-beginners/thread73466.html

Ответить