Visual Studio 2013ツールを使用してC++でu8
リテラルをどのように使用できますか?C++でu8リテラルを有効にする
私はこれを試しました:string test = u8"áááá";
しかしそれは私にエラーu8 is undefined
を与えます。私はC++ V.11
Visual Studio 2013ツールを使用してC++でu8
リテラルをどのように使用できますか?C++でu8リテラルを有効にする
私はこれを試しました:string test = u8"áááá";
しかしそれは私にエラーu8 is undefined
を与えます。私はC++ V.11
VS2013 doesn't support Unicode string literals。必要に応じて、VS2015に更新する必要があります。
あなたはまたVS2015 supports so long as you include the necessary using namespace
for them実際のC++ string
リテラル(例えばu8"áááá"s
)、単なるCスタイルの文字列リテラル(例えばu8"áááá"
)、使用したいことがあります。あなたがC +にいるあなたは確かにあります
using namespace std::string_literals;
wtf: 'std :: string_literals'は、' u8'ではなく、演算子 "s"( "hi" s - > 'std :: string')を扱います。 – fnc12
@ fnc12:Trueです。私は、Cスタイルのリテラルを使い続ける場合、 'using'は必要ないという2つの機能を組み合わせました。私はそれを修正するために編集しました(コンパイラが文字列の長さをすでに知っているときに 'NUL 'のランタイムスキャンを避けるなど、他の理由でリテラルを使うのは良い考えです。 – ShadowRanger
ノー、C++ V.11
そんなにないうーんを...持っています。
Visual Studio 2013 does not support Unicode string literals。
このC++ 11機能を使用するには、ツールチェーンをアップグレードする必要があります。
それだけです。私はそれがサポートだと思っていた。あなたはVS 2013で好きなように使うためにu8をどのように "置き換える"ことができるか知っていますか? – GrandTim
@ GrandTim:いいえ。バイト単位で識別された個々の文字を手作業で 'char'の配列を構築しなければなりません! –
@ GrandTim:それがなければ、文字列内の個々のバイトのエスケープやワイド文字のリテラルを作り、それをUTF-8にエンコードすることができません。 – ShadowRanger
をコンパイル時に+11モード? – tadman
私はそう思います。バージョンを確認するにはどうしたらよいですか? – GrandTim
@tadman:私が知っている限り、Visual Studioには「モード」はありません。あなたは基本的に与えられたものを手に入れます。 –