Đây là chương trình C++ chuyển đổi string sang mảng char (char array). Việc này có thể thực hiện theo nhiều cách khác nhau.
Cách 1: Sao chép từng ký tự
Thuật toán
Bắt đầu
Gán giá trị chuỗi cho biến mảng char m.
Định nghĩa biến string str.
Với i = 0 đến sizeof(m)
Sao chép từng ký tự từ m sang str.
In từng ký tự từ str.
Kết thúc
Ví dụ
#include <iostream>
#include <string.h>
using namespace std;
int main() {
char m[] = "Tutorialspoint";
string str;
int i;
for (i = 0; i < sizeof(m); i++) {
str[i] = m[i];
cout << str[i];
}
return 0;
}
Cách 2: Sử dụng strcpy()
Có thể đơn giản gọi hàm strcpy() để sao chép chuỗi sang mảng char.
Thuật toán
Bắt đầu Gán giá trị cho string s. Sao chép nội dung string sang mảng char bằng strcpy(). Kết thúc
Ví dụ
#include <iostream>
#include <string>
#include <cstring>
using namespace std;
int main() {
string str = "Tutorialspoint";
char c[str.size() + 1];
strcpy(c, str.c_str());
cout << c << '\n';
return 0;
}
Kết quả
Tutorialspoint
Cách 3: Sử dụng std::string::copy
Có thể tránh dùng strcpy() (hàm C) bằng cách dùng std::string::copy.
Thuật toán
Bắt đầu Gán giá trị cho string s. Sao chép nội dung string sang mảng char bằng copy(). Kết thúc
Ví dụ
#include <iostream>
#include <string>
using namespace std;
int main() {
string str = "Tutorialspoint";
char c[str.size() + 1];
str.copy(c, str.size() + 1);
c[str.size()] = '\0';
cout << c << '\n';
return 0;
}
Kết quả
Tutorialspoint