FAQ:ANSI CPP:при вводе текста в переменную считываются только те символы, которые шли до пробела, а необходимо считать всю строку целиком
Материал из Весельчак У
Как преодолеть такую ситуацию, когда при вводе текста в переменную считываются только те символы, которые шли до пробела, а мне необходимо считать всю строку целиком?
Например:
char test1[20], test[20];
cin >> test; //ввожу: "текст с пробелом"
cout << test; //выводится: "текст"}
scanf("%s", test1); //ввожу: "текст с пробелом"
printf("%s", test1); //выводится: "текст"
Как это обойти? Средствам доступными в TC++3?
string buffer; getline(cin, buffer, '\n'); cout << buffer << "|" << endl;
или
do
{
ch = getch();
cout << ch
} while (ch != '/0');