Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

Cách chuyển đổi string sang mảng char trong C++


Đâ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