ในส่วนนี้เราจะมาดูวิธีการแปลงสตริงกว้าง C++ (std::wstring) เป็น LPCWSTR LPCWSTR คือ (ตัวชี้แบบยาวถึงค่า STR แบบกว้างคงที่) โดยพื้นฐานแล้วจะเป็นสตริงที่มีอักขระกว้าง ดังนั้นโดยการแปลงสตริงกว้างเป็นอาร์เรย์อักขระแบบกว้างเราสามารถรับ LPCWSTR LPCWSTR นี้กำหนดโดย Microsoft ดังนั้นหากต้องการใช้งาน เราต้องรวมไฟล์ส่วนหัวของ Windows.h ไว้ในโปรแกรมของเรา
ในการแปลง std::wstring เป็นสตริงประเภทอาร์เรย์อักขระแบบกว้าง เราสามารถใช้ฟังก์ชันที่เรียกว่า c_str() เพื่อให้เป็น C เหมือนกับสตริงและชี้ไปที่สตริงอักขระแบบกว้าง
โค้ดตัวอย่าง
#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;
} ผลลัพธ์
my_str is : Hello World Wide String is : Hello World