Результаты
Введите значения k и t: 1 2.5 Введено: 1 2.5 Введите строку: мама мыла раму Введено: мама
Потоковыйвводимееттоже ограничениенаввод строк,чтоифункцияscanf: разделителями считаютсясимволыпробелаилитабуляции. Поэтомудлявводастрокнельзяиспользовать переопределённуюоперация,анадовместо неё вызватьметодпотока.
Вводстрок через поток
cin.getline(<строка>,<макс длина>);
int k; float t;
wchar_t buffer[31]; setlocale(LC_ALL, ".OCP");
wcout << L"Введите значения k и t: "; wcin >> k >> t;
wcout << L"Введено: " << k << " " << t << endl;
wcout << L"Введите строку: "; wcin.ignore(); wcin.getline(buffer, 31);
wcout << L"Введено: " << buffer << endl;
Результаты
Введите значения k и t: 1 2.5 Введено: 1 2.5 Введите строку: мама мыла раму
Введено: мама мыла раму
Всегда вводите строки, используя метод потокаgetline:
метод позволяет вводить строки с пробелами;
метод безопасен в плане переполнения буфера.