SORU
6 Mart 2015, Cuma


C ve C sekme karakterlerini kaçmak için zorunlu mu ?

Karakter ve string sabitler C ve C (ve diğer diller) yatay tabulators (ASCII kod 9) '\t' "\t" olarak kaçtı şeklinde ifade edilmiştir. Ancak ben düzenli olarak yazarak çıkmamış sekme karakteri dize hazır bilgi olarak örneğin "A B" (bir sekmede betreen A B) ve en az çınlama değil rahatsız etmişe - dize gibi görünüyor eşdeğer "A\tB". Çok satırlı dizeleri kaynak kodu daha okunabilir uzun girintili beri çıkmamış versiyonunu daha çok seviyorum.

Şimdi bu genellikle yasal C ve C ya da sadece benim derleyici tarafından desteklenen olup olmadığını kendime soruyorum. Nasıl taşınabilir karakter çıkmamış tabulators ve dize sabitleri?

Oldukça basit görünen bu soruya bir cevap, ne stackoverflow (sadece this hayal meyal ilgili soru buldum) Google ile ne bulamadım şaşırtıcı.

CEVAP
6 Mart 2015, Cuma


Evet, dize veya karakter değişmez bir sekme karakteri, en az C 11 göre ekleyebilirsiniz. Bu karakterler izin (benim vurgu ile):

herhangi bir üyekaynak karakter kümesihariç çift tırnak ", eğik çizgi \ veya yeni satır karakteri

(C 11 standard ek-A. 2)

ve karakter içerir kaynak:

boşluk karakteri, denetimi temsil eden karakterleryatay sekmedikey sekme, yem ve yeni satır, artı aşağıdaki 91 grafik karakterleri oluşturmak

(C 11 standard, paragraf 2.3.1)

GÜNCELLEME:Sadece iki farklı diller hakkında sorduğunu fark ettim. C99, cevabı da evet. İfadeler farklı, ama temelde aynı şeyi söylüyor:

Bir karakter sabiti veya dize, yürütme karakter kümesi üyeleri ilgili üyeler tarafından temsil edilecektirkaynak karakter kümesiya [...]

kaynak ve yürütme karakter kümesi de vardır

karakterleri temsil eden, kontrolyatay sekmedikey sekme, ve form besleme.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • FOSDEM

    FOSDEM

    13 Ocak 2009
  • Mark Hyder

    Mark Hyder

    6 EKİM 2011
  • NicoleGrippo

    NicoleGrippo

    14 Kasım 2006