C# c语言中单引号字符串到uint# 我把一些C++翻译成C代码,我看到下面的定义: #define x 'liaM'

C# c语言中单引号字符串到uint# 我把一些C++翻译成C代码,我看到下面的定义: #define x 'liaM',c#,c++,string,C#,C++,String,首先,这个单引号常量是什么意思?在c#中是否将其设为字符串常量 第二,这个常数被赋值为C++中Unt变量的值。这是怎么回事 uint m = x; 这有时被称为一种新方法。有一个Windows API可以将字符串转换为FOURCC调用,下面是一些C代码来做同样的事情: public static int ChunkIdentifierToInt32(string s) { if (s.Length != 4) throw new ArgumentException("Must be a

首先,这个单引号常量是什么意思?在c#中是否将其设为字符串常量

第二,这个常数被赋值为C++中Unt变量的值。这是怎么回事

uint m = x;

这有时被称为一种新方法。有一个Windows API可以将字符串转换为FOURCC调用,下面是一些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);
}

因为你的问题主要是关于一些C++代码的含义,所以我已经添加了语言标签以及C语言。为什么不只是代码> BITTALUTE?toIt32(char){“l”,“i”,“a”,“m’}”;
并完全跳过字符串?@BenVoigt是的,甚至更好。我写上面的代码是为了替换对mmiostringtosource的调用。实际上,我的评论应该使用
byte[]