Uwp 如何修剪Platform::String myString=";答案是「;在c++/cx

Uwp 如何修剪Platform::String myString=";答案是「;在c++/cx,uwp,c++-cx,Uwp,C++ Cx,我想修剪c++/cx中的字符串,我使用的是Platform::string Platform::String myString = " answer " Platform::String是围绕Windows运行时HSTRING类型的包装,它是不可变的。在Windows运行时组件的公共接口中,应该理想地使用平台::String < /C>。但是,对于修改诸如修剪之类的字符串的操作,请考虑 STD::WString 。 如各国所述: 在C++模块中,使用标准C++字符串类型(如WString)进

我想修剪c++/cx中的字符串,我使用的是Platform::string

Platform::String myString = "  answer "

Platform::String
是围绕Windows运行时
HSTRING
类型的包装,它是不可变的。在Windows运行时组件的公共接口中,应该理想地使用<代码>平台::String < /C>。但是,对于修改诸如修剪之类的字符串的操作,请考虑<代码> STD::WString 。 如各国所述:

<>在C++模块中,使用标准C++字符串类型(如WString)进行任何重要的文本处理,然后将最终结果转换为Struts:String ^,然后将其传递到公共接口或从公共接口传递。在wstring或wchar\u t*和Platform::String之间进行转换既简单又高效

您可以使用以下代码从
Platform::String
转换为
wstring
,然后修剪,然后从结果转换为create new
Platform::String

Platform::String^ myString = ref new Platform::String(L"  answer ");
//convert to wstring
std::wstring classicString(myString->Data());

//trimming
classicString.erase(0, classicString.find_first_not_of(' '));
classicString.erase(classicString.find_last_not_of(' ') + 1);

//convert to Platform::String
Platform::String^ modifiedString = ref new Platform::String(classicString.c_str());

有关修剪
wstring
的更复杂解决方案,请参阅。

平台::String
是围绕Windows运行时
HSTRING
类型的包装,它是不可变的。在Windows运行时组件的公共接口中,应该理想地使用<代码>平台::String < /C>。但是,对于修改诸如修剪之类的字符串的操作,请考虑<代码> STD::WString 。 如各国所述:

<>在C++模块中,使用标准C++字符串类型(如WString)进行任何重要的文本处理,然后将最终结果转换为Struts:String ^,然后将其传递到公共接口或从公共接口传递。在wstring或wchar\u t*和Platform::String之间进行转换既简单又高效

您可以使用以下代码从
Platform::String
转换为
wstring
,然后修剪,然后从结果转换为create new
Platform::String

Platform::String^ myString = ref new Platform::String(L"  answer ");
//convert to wstring
std::wstring classicString(myString->Data());

//trimming
classicString.erase(0, classicString.find_first_not_of(' '));
classicString.erase(classicString.find_last_not_of(' ') + 1);

//convert to Platform::String
Platform::String^ modifiedString = ref new Platform::String(classicString.c_str());
有关修剪
wstring
的更多相关解决方案,请参阅