Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

วิธีแปลง std ::string เป็น LPCWSTR ใน C ++


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