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

Làm thế nào để chuyển đổi một chuỗi std ::thành const char * hoặc char * trong C ++?


Bạn có thể sử dụng phương thức c_str () của lớp string để lấy const char * với nội dung chuỗi.

ví dụ

#include<iostream>
using namespace std;

int main() {
   string x("hello");
   const char* ccx = x.c_str();
   cout << ccx;
}

Đầu ra

Điều này sẽ cung cấp đầu ra -

hello

Để lấy ký tự *, hãy sử dụng chức năng sao chép.

Ví dụ

#include<iostream>
using namespace std;

int main() {
   string x("hello");

   // Allocate memory
   char* ccx = new char[s.length() + 1];

   // Copy contents
   std::copy(s.begin(), s.end(), ccx)
   cout << ccx;
}

Đầu ra

Điều này sẽ cung cấp đầu ra -

hello