Да, объект cin
в C++ по умолчанию считывает пробельные символы. Когда вы используете оператор извлечения (>>
) с cin
, он считывает и отбрасывает все ведущие пробельные символы (например, пробелы, табуляции и новые строки) перед извлечением фактического ввода.. Он продолжает читать ввод до тех пор, пока не встретит следующий пробельный символ.
Вот несколько методов, связанных с чтением входных данных и обработкой пробелов в C++:
-
Чтение слова. Чтобы прочитать одно слово (последовательность символов без пробелов), вы можете использовать оператор
>>
со строковой переменной. Он будет читать ввод до тех пор, пока не встретит пробел.std::string word; std::cin >> word;
-
Чтение строки. Если вы хотите прочитать всю строку ввода, включая пробельные символы, вы можете использовать функцию
getline()
.std::string line; std::getline(std::cin, line);
-
Игнорирование начальных пробелов. Если вы хотите игнорировать ведущие пробелы перед чтением определенного типа ввода, вы можете использовать манипулятор
std::ws
илиstd:: Skipws
Манипулятор ввода-вывода.// Using std::ws std::cin >> std::ws; std::string word; std::cin >> word; // Using std::skipws std::cin >> std::skipws >> word;