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

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

Trong phần này, chúng ta sẽ xem cách chuyển đổi chuỗi C ++ (std ::string) sang LPCSTR. LPCSTR là (Con trỏ dài đến STRing không đổi). Về cơ bản nó là chuỗi giống như C. Vì vậy, bằng cách chuyển đổi chuỗi thành mảng ký tự, chúng ta có thể nhận được LPCSTR. LPCSTR 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 ::string thành C like string, chúng ta có thể sử dụng hàm có tên là c_str ().

Mã mẫu

#include<iostream>
#include<Windows.h>
using namespace std;
main() {
   string my_str = "Hello World";
   LPTSTR long_string = new TCHAR[my_str.size() + 1]; //define
   an array with size of my_str + 1
   strcpy(long_string, my_str.c_str());
   cout << "my_str is : " << my_str <<endl;
   cout << "Long String is : " << long_string <<endl;
}

Đầu ra

my_str is : Hello World
Long String is : Hello World