And*_*ndy 3 c++ managed-c++ utf-8 visual-studio-2010
我需要将下面的c#代码更改为c ++代码.
public static byte[] StrToByteArray(string str)
{
System.Text.UTF8Encoding encoding = new System.Text.UTF8Encoding();
return encoding.GetBytes(str);
}
Run Code Online (Sandbox Code Playgroud)
在这个网站上,我找到了UTF8Encoding的c ++代码,我从中创建了这段代码
void StrToByteArray(string unicodeString)
{
UTF8Encoding^ utf8 = gcnew UTF8Encoding;
array<Byte>^encodedBytes = utf8->GetBytes( unicodeString );
}
Run Code Online (Sandbox Code Playgroud)
但这给了我以下错误
错误2错误C2664:'cli :: array ^ System :: Text :: Encoding :: GetBytes(cli :: array ^)':无法将参数1从'std :: string'转换为'cli :: array
为什么它会在与文档相同的情况下执行此操作?(除了我使用普通字符串,但使用顶级字符串^给我一个错误.)
我不确定它是否相关但我的代码是管理的.
注意:我还没有担心返回任何数据,直到我得到这个工作.