Мне нужно изменить приведенный ниже код c # на код c ++.
public static byte[] StrToByteArray(string str)
{
System.Text.UTF8Encoding encoding = new System.Text.UTF8Encoding();
return encoding.GetBytes(str);
}
на этом сайте Я нашел код C ++ для UTF8Encoding, из которого я создал этот код
void StrToByteArray(string unicodeString)
{
UTF8Encoding^ utf8 = gcnew UTF8Encoding;
array<Byte>^encodedBytes = utf8->GetBytes( unicodeString );
}
но это дает мне следующую ошибку
Ошибка 2 ошибка C2664: 'cli :: array ^ System :: Text :: Encoding :: GetBytes (cli :: array ^)': невозможно преобразовать параметр 1 из 'std :: string' в 'cli :: array
Почему он это делает, если он идентичен документации?(за исключением того, что я использую обычную строку, но использование строки верхнего уровня ^ дает мне ошибку в этом.)
Я не уверен, связано ли это, но мой код управляется.
примечание: я пытался не беспокоиться о возвращении каких-либо данных, пока я не заработаю.