std::string
は、すべてのプラットフォームと標準コンパイラでAsciiエンコーディングの文字セットを保持するはずですか?言い換えればstd :: stringにはAscii文字のみが含まれていますか?
、私はこれを行う場合、私のC++プログラムは、ASCII文字のセットを取得することを確認することができます:
std::string input;
std::getline(std::cin, input);
EDIT:より正確な言葉で
、私が欲しいですユーザーが"a0"
と入力すると、2つの要素でstd::string
が得られることを確認してください。一つ目は97
であり、第二は48
保証は絶対にありません。UTF-8は非常に一般的な文字エンコーディングです。そのようなシステムで "á0"と入力すると、文字列には* 3つの要素が含まれます。 –
@ MarkRansom私は参照してください。私は、アスキー文字列を入力する方法を強制するかどうか、別の質問を投稿します。ありがとう –
"私は変数' std :: string xml'を持っています。コンパイラやSTLは内部にXML文字列だけを強制していますか? - いいえ。型は "XML"や "Unicode"ではなく "char"です。型、形式、またはエンコーディングを混同しないでください。しかし、そこには有効な質問があります。「標準のIOエンコードをどのように制御できますか?」 – Fozi