2013-10-21 12 views
10

私はC#のコードにいくつかのC++を翻訳したC#でのuintに、私は以下のdefinitonを見た:シングル引用符で囲まれた文字列は

#define x 'liaM' 

まず、この単一引用符で囲まれた一定の平均を何?それをC#で文字列定数にしていますか?

第2に、この定数は、C++のuint変数に値として割り当てられます。それはどのように機能するのですか?

uint m = x; 
+1

あなたの質問は、いくつかのC++コードの意味について、主なので、私が追加されていると思いますその言語タグだけでなく、C#の1つ。 –

+0

http://stackoverflow.com/questions/3683602/single-quotes-vs-double-quotes-in-c –

+3

http://stackoverflow.com/questions/7459939/what-do-single-quotes-do-in -c-when-multiple-on-multiple-characters –

答えて

4

これは、FOURCCと呼ばれることがあります。 FOURCCに文字列から変換することができ、WindowsのAPIがありmmioStringToFOURCCと呼ばれ、ここで同じことを行うには、いくつかのC#コードですです:

public static int ChunkIdentifierToInt32(string s) 
{ 
    if (s.Length != 4) throw new ArgumentException("Must be a four character string"); 
    var bytes = Encoding.UTF8.GetBytes(s); 
    if (bytes.Length != 4) throw new ArgumentException("Must encode to exactly four bytes"); 
    return BitConverter.ToInt32(bytes, 0); 
} 
+2

'BitConverter.ToInt32(char [] l '、' i '、' a '、' M '});'だけでなく文字列全体をスキップするのはなぜですか? –

+0

@BenVoigtはい、さらに優れています。上記のコードをmmioStringToFOURCCへの呼び出しのドロップイン置換として書いた –

+0

実際には、私のコメントは 'byte []' –

関連する問題