ในส่วนนี้เราจะมาดูวิธีการแปลงสตริงกว้าง 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