英語のアルファベット にルーンを翻訳するプログラムを作成していますので警告が表示されます:警告:複数文字の定数[-Wmultichar] 「 コードはC++"警告:複数文字の定数[-Wmultichar]"とプログラムが動作しません
がstring s = "ᛡᚣ";
(2 UTF-8文字の文字列、ルーン)
if(s.at(0) == 'ᛡ') cout<<"YES";
が、警告がである は、ここでのコードである(ないプログラムから、それは同じ問題を抱えています)主な問題ではなく、問題は私はそれを実行すると "YES"を出力しません。プログラムの場合、ルーンをアルファベットに翻訳しようとすると、ルーンを翻訳するのではなく、束のendl関数を作成します(基本的には何もしません)
PS I別のcompailersを使用して、Visual Studioのエラーで "Debug Assertion Failed!" 「式:文字列の添え字が範囲外です」 他のコンパイラは何もしません。「\ u16B3」のような文字の代わりにユニコードを使用してプログラムを構築しようとしましたが、同じです。私はutf-8のための特定のライブラリが必要ですか? pls help
コンパイラが説明するように、実装固有の値であるため、多文字定数を使用します。 utf-8を使用する場合は、複数の文字を比較する必要があります。 – Jarod42