Computer >> Máy Tính >  >> Lập trình >> C ++

Làm thế nào để chuyển đổi std ::string thành LPCWSTR trong C ++?

Trong phần này, chúng ta sẽ xem cách chuyển đổi chuỗi rộng C ++ (std ::wstring) sang LPCWSTR. LPCWSTR là (Con trỏ dài đến STRing rộng không đổi). Về cơ bản nó là chuỗi có các ký tự rộng. Vì vậy, bằng cách chuyển đổi chuỗi rộng thành mảng ký tự rộng, chúng ta có thể nhận được LPCWSTR. LPCWSTR này là do Microsoft định nghĩa. Vì vậy, để sử dụng chúng, chúng ta phải đưa tệp tiêu đề Windows.h vào chương trình của mình.

Để chuyển std ::wstring thành chuỗi ký tự rộng, chúng ta có thể sử dụng hàm có tên c_str () để biến nó thành chuỗi C giống như chuỗi ký tự và trỏ đến chuỗi ký tự rộng.

Mã mẫu

#include<iostream>
#include<Windows.h>
using namespace std;
main(){
   wstring my_str = L"Hello World";
   LPCWSTR wide_string ; //define an array with size of my_str + 1
   wide_string = my_str.c_str();
   wcout << "my_str is : " << my_str <<endl;
   wcout << "Wide String is : " << wide_string <<endl;
}

Đầu ra

my_str is : Hello World
Wide String is : Hello World