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

Character Literal (hằng ký tự) trong C++

Character literal** là hằng số biểu diễn giá trị của một ký tự đơn trong mã nguồn.

Trong C++, character literal bao gồm một ký tự hằng, được bao quanh bởi dấu nháy đơn. Có 2 loại:

  • Narrow-character literal kiểu char: ví dụ 'a'
  • Wide-character literal kiểu wchar_t: ví dụ L'a'

Ký tự dùng cho literal có thể là bất kỳ ký tự in được nào, trừ các ký tự dành riêng: newline ('\n'), backslash ('\\'), dấu nháy đơn ('\''), dấu nháy kép ('\"'). Các ký tự dành riêng phải dùng escape sequence.

Các escape sequence phổ biến

Escape sequence Ý nghĩa
\n Newline (xuống dòng)
\t Tab ngang
\b Backspace
\\ Backslash (\\)
\' Dấu nháy đơn (')
\" Dấu nháy kép (")
\0 Null character
\xHH Hex (HH là 2 chữ số hex)
\uXXXX Unicode 16-bit (C++11)
\UXXXXXXXX Unicode 32-bit (C++11)

Ví dụ

#include <iostream>
using namespace std;

int main() {
    char newline = '\n';
    char tab = '\t';
    char backspace = '\b';
    char backslash = '\\';
    char nullChar = '\0';
    
    cout << "Newline character: " << newline << "ending" << endl;
    cout << "Tab character: " << tab << "ending" << endl;
    cout << "Backspace character: " << backspace << "ending" << endl;
    cout << "Backslash character: " << backslash << "ending" << endl;
    cout << "Null character: " << nullChar << "ending" << endl;
}

Kết quả

Newline character: 
ending
Tab character:     ending
Backspace character: ending
Backslash character: \ending
Null character: ending

Lưu ý: Ký tự wide dùng tiền tố L (VD: L'中'), C++11 thêm u8 (UTF-8), u (UTF-16), U (UTF-32).