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

Chuyển đổi ký tự đơn (char) thành chuỗi (string) trong C++

Có nhiều cách để chuyển một ký tự char thành std::string trong C++. Dưới đây là 3 phương pháp phổ biến:

Ví dụ hoàn chỉnh

#include <iostream>
#include <string>
#include <sstream>

int main() {
    char c = 'm';
    
    // Cách 1: Constructor của string
    std::string s1(1, c);
    std::cout << "Constructor: " << s1 << '\n';
    
    // Cách 2: stringstream
    std::string s2;
    std::stringstream ss;
    ss << c;
    ss >> s2;
    std::cout << "Stringstream: " << s2 << '\n';
    
    // Cách 3: push_back
    std::string s3;
    s3.push_back(c);
    std::cout << "push_back: " << s3 << std::endl;
    
    return 0;
}

Kết quả

Constructor: m
Stringstream: m
push_back: m

Chi tiết các phương pháp

1. Constructor string (Khuyến nghị nhất)

std::string s(1, c);

Tạo string với 1 ký tự c. Hiệu quả, rõ ràng, không phụ thuộc thư viện thêm.

2. stringstream

std::stringstream ss;
ss << c;
std::string s;
ss >> s;

Phù hợp khi cần format phức tạp, nhưng chậm hơn do overhead stream.

3. push_back

std::string s;
s.push_back(c);

Thêm ký tự vào cuối string rỗng. Hữu ích khi xây dựng string dần dần.

4. Các cách khác (C++17+)

// C++17: string_view (chỉ xem, không copy)
std::string_view sv(&c, 1); 

// C++20: format
std::string s = std::format("{}", c);