Aracılığıyla paylaş


C++ Karakter Değişmez Değerleri

Bir karakter hazır değer sabit bir karakteri oluşur.Karakter tek tırnak işaretleri arasında tarafından temsil edilir.İki tür karakter değişmez değerler şunlardır:

  • Dar karakter değişmez değerler türü char, örneğin'a'

  • Geniş karakter değişmez değerler türü wchar_t, örneğinL'a'

Bir karakter değişmez değer için kullanılan karakter satır başı karakteri ('\n'), ters eğik çizgi gibi ayrılmış karakterleri dışında herhangi bir grafik karakter olabilir (' kullanıcıadı '), tek tırnak işareti (') ve çift tırnak işareti (").Ayrılmış karakterler kaçış dizisi belirtilebilir.

Çıkış Sıraları

Çıkış dizileri beş tür vardır: basit, sekizli onaltılık, Unicode (UTF-8) ve Unicode (UTF-16).Çıkış dizileri aşağıdakilerden biri olabilir:

Değer

Çıkış sırası

yeni satır

\n

Yatay sekmesi

\t

Dikey sekmesi

\v

Geri Al

\b

satır başı

\r

form akışı

\f

Uyarı

\a

ters eğik çizgi

\\

soru işareti

?veya \?

tek tırnak

\'

çift tırnak işareti

\"

null karakteri

\0

sekizlik

\ooo

onaltılık

\xhhh

Unicode (UTF-8)

\uxxxx

Unicode (UTF-16)

\Uxxxxxxxx

Aşağıdaki kod Atlanan karakter bazı örnekler gösterir.

#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; // Newline character:
                                                                  //  ending
    cout << "Tab character: " << tab << "ending" << endl; // Tab character : ending
    cout << "Backspace character: " << backspace << "ending" << endl; // Backspace character : ending
    cout << "Backslash character: " << backslash << "ending" << endl; // Backslash character : \ending
    cout << "Null character: " << nullChar << "ending" << endl; //Null character:  ending
}

UTF-16 kaçış \U sıralarıyla hakkında daha fazla bilgi için bkz C++ Dize Değişmez Değerleri.

Microsoft'a Özgü

Sekizli kaçış dizisi tarafından 3 adede kadar sekizli rakamlardan oluşan bir dizi eğik çizgi ' dir.Uygulama tanımlı birden fazla üç basamak içeren bir sekizli çıkış sırası davranışını; Bunlar şaşırtıcı sonuçlar verebilirsiniz.Örneğin:

char c1 = '\100';     // char '@'
char c2 = '\1000';   // char '0' 

Sekizli olmayan karakterler kaçış dizilerine dönüştürür son sekizli olmayan karakter olarak değerlendirilir.Örneğin:

char c3 = '\009'// char '9'
char c4 = '\089'     // char '9'
char c5 = '\qrs'     // char 's'

Bir onaltılık çıkış sırası karakterin ardından ters eğik çizgi olan x, bir dizi onaltılık rakamlardan oluşan ardından.Hiçbir onaltılık sayı içeren bir kaçış dizisi derleyici hatası C2153 neden olur: "onaltılık sabitleri en az bir onaltılık sayı olmalıdır".Kaçış dizisi onaltılık ve onaltılık olmayan karakter uzunluğunda olduğundan son onaltılık olmayan karakter olarak değerlendirilir.En yüksek onaltılık 0xff değerdir.

char c1 = '\x0050';  // char 'P'
char c2 = '\x0pqr';  // char 'r'

END Microsoft'a Özgü

Bir satırın sonuna yerleştirildiğinde eğik çizgi (\\) bir satır devamı karakterdir.Değişmez değer karakter olarak görüntülenecek bir eğik çizgi istiyorsanız, iki ters eğik çizgi bir satırın türü gerekir (\\).Satır devamı karakteri hakkında daha fazla bilgi için bkz Çeviri Aşamaları.

Unicode karakter

Bir UTF-8 kodlama sahip Unicode karakter \u önekiyle temsil edilir.Örneğin:

const wchar_t chr1 = L'\u79c1';

Çoğu durumda, istenen karakter yalnızca giriş:

const wchar_t chr2 = L'私'; 

Visual C++ Düzenleyicisi ayarları

Varsayılan olarak, kodlama bölgeniz için uygun olan Visual C++ Kod Düzenleyicisi kullanır.Visual Studio, İngilizce sürümlerinde varsayılan kod sayfası 1252 değil.Ancak, farklı türde bir karakter, Unicode karakter, ekler ve dosyayı kaydedin, bir ileti bakın: "Bu dosyadaki bazı Unicode karakter geçerli kod sayfasında kaydedilemedi.Veri kaynağınızı sağlamak için bu dosya Unicode olarak yeniden kaydedin istiyor musunuz?" Bazı diğer kodlama ile dosya kaydedebilirsiniz.Bir dosya için kod sayfası de değiştirebilirsiniz dosya, Gelişmiş kaydetme seçenekleri iletişim.Unchecking "Otomatik Algıla UTF-8 imza olmadan kodlayarak" Unicode karakter otomatik algılama dışı bırakabilirsiniz araçları, Seçenekler, metin düzenleyicisi, genel seçenekler sayfası.

Ayrıca bkz.

Başvuru

C++ Değişmez Değerleri