WideCharToMultiByte()和wcstombs()有什么区别什么时候用哪个? 最佳答案 简而言之:WideCharToMultiByte函数在参数列表中公开了用于转换的编码/代码页,而wcstombs没有。这是一个主要的PITA,作为标准doesnotdefinewchar_t将使用什么编码,而作为开发人员,您当然需要知道要转换成/从什么编码。除此之外,WideCharToMultiByte当然是一个WindowsAPI函数,在其他平台上是不可用的。因此,如果您的应用程序不是专门为可移植到非Windows操作系统而编写
WideCharToMultiByte()和wcstombs()有什么区别什么时候用哪个? 最佳答案 简而言之:WideCharToMultiByte函数在参数列表中公开了用于转换的编码/代码页,而wcstombs没有。这是一个主要的PITA,作为标准doesnotdefinewchar_t将使用什么编码,而作为开发人员,您当然需要知道要转换成/从什么编码。除此之外,WideCharToMultiByte当然是一个WindowsAPI函数,在其他平台上是不可用的。因此,如果您的应用程序不是专门为可移植到非Windows操作系统而编写
我有只包含数字的输入字符串(只是普通的拉丁数字,0-9,例如“0123”),存储为std::wstring,我需要每个字符串作为char*。对我来说最好的方法是什么?这是我最初的方法:voidtype::convertWStringToCharPtr(_In_std::wstringinput,_Out_char*outputString){outputString=newchar[outputSize];size_tcharsConverted=0;constwchar_t*inputW=input.c_str();wcstombs_s(&charsConverted,outputS