Platform::String^ オブジェクトから自分のオブジェクトの 1 つに文字列を転送する関数を書きたいと思います。これを行うには、Platform::String^ オブジェクトから char* を取得する必要があります。ただし、必要なバッファーのサイズを決定する方法が正確にはわかりません。
私はこのようなことをしようとしています:
void PlatStrToCustomStr(Platform::String^ source, CustomStrObject& destination)
{
int bufferSize = (source->Length()*2)+1; //How do I know how big?
char* buffer = new char[bufferSize];
size_t* result;
wcstombs_s(result, buffer, bufferSize, source->Begin(), bufferSize);
destination.copy(buffer);
free(buffer);
}
bufferSize の大きさを知る方法はありますか?
他にも同様の質問があることは知っていますが、この特定の質問に対するコードの回答が見つかりませんでした。