Предполагается, что std::string
должен содержать набор символов в кодировке Ascii на всех платформах и стандартных компиляторах?Строка std :: string должна иметь только символы Ascii?
Другими словами, я могу быть уверен, что моя C++ программе получит набор символов ASCII, если я это сделать:
std::string input;
std::getline(std::cin, input);
EDIT:
В более точных слов, я хочу чтобы убедиться, что если пользователь вводит "a0"
, я получу std::string
с двумя элементами. Первый 97
и второй 48
Там нет абсолютно никакой гарантии.UTF-8 - очень популярная кодировка символов, и если вы наберете «0» в такой системе, ваша строка будет содержать * три * элемента. –
@MarkRansom Я вижу .. Я отправлю еще один вопрос о том, как я могу заставить или обеспечить ввод строки Ascii. Спасибо –
«У меня есть переменная' std :: string xml'. Использует ли компилятор или STL, что внутри есть только строки XML? » - Нет. Тип «char» не «XML» или «Unicode». Не путайте тип, формат или кодировку. Однако есть веский вопрос: «Как я могу контролировать стандартную кодировку IO?» – Fozi