`

将string转化到WCHAR

    博客分类:
  • c++
阅读更多
1.
std::wstring s2ws(const std::string& s)
{
int len;
int slength = (int)s.length() + 1;
len = MultiByteToWideChar(CP_ACP, 0, s.c_str(), slength, 0, 0); 
wchar_t* buf = new wchar_t[len];
MultiByteToWideChar(CP_ACP, 0, s.c_str(), slength, buf, len);
std::wstring r(buf);
delete[] buf;
return r;
}
2.
将第一步反回的wstring类型利用它的c_str()方法转化成char类型的指针

即:

LPCWSTR result = "".c_str();

如:
string str;
std::wstring stemp = s2ws(str);

LPCWSTR result = stemp.c_str();



分享到:
评论

相关推荐

    wchar_t,char,string,wstring之间的相互转换

    在处理中文时有时需要进行wchar_t,char,string,wstring之间的转换。 其中char和string之间、wchar_t和wstring之间的转换较为简单,代码在vs2010下测试通过。 代码如下:#include <iostream>#include <string>#...

    VC之CString,wchar_t,int,string,char*之间的转换

    6. `std::string`到`CString`:逆向上述过程,先将`std::string`转换为`std::wstring`,再转换为`CString`。 7. `char*`到`CString`:可以直接赋值给`CString`。 ```cpp char* cstr = "Hello"; CString str(cstr);...

    深入理解c++中char*与wchar_t*与string以及wstring之间的相互转换

    代码如下: #ifndef USE_H_ #define USE_H_ #include  #include  #include <string> using namespace std; class CUser { public: CUser();... char* WcharToChar(const wchar_t* wp); char* StringToChar

    CString,int,string,char之间的转换(C/C++)

    本文将详细介绍CString、int、string、char之间的转换方法,并提供实例代码。 一、CString与int之间的转换 CString可以使用Format函数将int类型转换为CString,例如: ``` int i = 64; CString s; s.Format("%d", ...

    string、wstring、cstring、 char、 tchar、int、dword转换方法

    首先,通过`_bstr_t`构造函数将`std::string`的`c_str()`转换为BSTR类型,然后将BSTR类型强制转换为宽字符指针`wchar_t*`,最后将这个指针转换为`std::wstring`对象。 #### `wstring`到`string` ```cpp string ws2s...

    C标准库源码解剖(6):字符串处理函数string.h和wchar.h(续).pdf

    在C语言的标准库中,`string.h`和`wchar.h`是两个非常重要的头文件,它们提供了处理字符和宽字符(如Unicode)的字符串操作函数。这篇文档继续深入解析了这两个头文件中的一些特定功能,尤其是涉及区域设置和错误...

    string和char*

    下面我们将详细介绍 string、CString 和 char* 的区别和联系。 string string 是 C++ 标准模板库(STL)中定义的字符串类,是一种基本的字符串类型。string 可以从各种字符串类型构造,包括CString 和 char*。...

    cgo.wchar:cgo.wchar包将与gocgo一起使用,并有助于在C.wchar_t和wchar_t字符串之间进行转换(* C.wchar_t具有空终止符或int长度)

    cgo.wchar 帮助在cgo中使用wchars。 例子 go.hid库中的示例: func ( dev * Device ) ManufacturerString () ( string , error ) { // create WcharString ... // get WcharString as Go string

    C++char无法转为LPCWSTR的解决方法收集。

    可以使用函数将char类型转换为wchar_t类型,例如,使用mbstowcs()函数,可以将char数组转换为wchar_t数组: wchar_t wcBuf[20]; mbstowcs(wcBuf, szChar, 20); 解决方法四:使用wstring和string 可以使用wstring...

    Unicode CString和 std::string 的完美转换,不会有64K限制

    这个函数先将std::string转换为UTF-16的std::u16string,然后再创建一个CString对象。 以上就是关于Unicode CString和std::string之间转换的基本概念和可能的实现方式。在实际开发中,了解这些转换方法对于跨平台和...

    各种 C++ 字符串类型转换

    本文将详细介绍几种常用的C++字符串类型(`char *`、`wchar_t*`、`_bstr_t`、`CComBSTR`、`CString`、`basic_string` 和 `System.String`)之间的转换方法,并通过示例代码加以解释。 #### 1. `char *` 类型转换 `...

    C++Builder String,UNICODE,UTF8,ANSI互转的类.rar_c

    在C++Builder中,`String`类型是基于Unicode的,这意味着默认情况下,它存储的是宽字符(每个字符2字节),这与Windows API中的`WCHAR`和`LPCWSTR`类型相匹配。这种设计使得C++Builder可以方便地处理包含多语言字符...

    转 String,CString,TCHAR,char之间区别和联系

    本文将深入探讨`char`、`TCHAR`、`CString`以及`std::string`之间的区别和联系,并提供一些实用的转换方法。 #### 1. `char` `char`是最基本的字符类型之一,在大多数系统中,它占用1字节的空间。`char`类型通常...

    c#调用c++ dll 传参 string 崩溃的一种解决办法

    在这个例子中,我们使用了`MarshalAs(UnmanagedType.LPStr)`来告诉CLR(Common Language Runtime)将字符串转换为一个以null终止的ANSI字符数组,这是C++期望的形式。 #### 错误检查与调试 除了上述解决方案之外,...

    从 C++ Builder 6 到 XE2 的升级问题汇总

    - **char到wchar_t**:从char*转换到wchar_t*需要明确指定,例如使用L"..."前缀创建WideString或使用适当的转换函数。 - **wchar_t到char**:与上述相反,从宽字符转换到窄字符也需要显式转换,通常使用AnsiString...

    mingw to_string()头文件

    在C++编程中,`std::to_string()`函数是一个非常实用的工具,它允许我们将基本类型(如整型、浮点型等)转换为字符串。然而,在某些环境下,如使用MinGW编译器时,可能默认并不完全支持C++11的新特性,包括`std::to_...

    一个string模板类

    下面我们将详细探讨这个自定义的`string`类模板,以及可能涉及到的关键知识点。 1. **模板类**:C++中的模板是一种泛型编程工具,允许我们创建可以操作多种数据类型的函数或类。这里的`string`模板类意味着它可以...

    C++到C#数据类型转换

    本文将详细介绍 C++ 到 C# 数据类型的转换,包括基本数据类型、结构体、字符串、指针等。 一、基本数据类型转换 在 C++ 中,有很多基本数据类型,如整数、浮点数、布尔型等。这些数据类型在 C# 中也有对应的类型。...

Global site tag (gtag.js) - Google Analytics