Escape sequences

Język C umożliwia używanie znaków specjalnych poprzez tzw. Escape sequences.

\'Apostrof
\"Cudzysłów
\\Odwrotny ukośnik (Backslash)
\nnnLiczba ósemkowa (nnn)
\0Znak zero (null)
\aSygnał dźwiękowy
\bBackspace
\fFormfeed - tworzy nową stronę
\nNowa linia
\rPowrót karetki
\tTabulator poziomy
\vTabulator pionowy
\xnnnLiczba szesnastkowa (nnn)

Przykład użycia:

#include <stdio.h>

int main(int argc, char *argv[])
{
    printf("Komputer powiedział, że\nma to na\ndysku C:\\ po czym\nzrobił\a \"beep\" i się wyłączył");  
    return 0;
}
Komputer powiedział, że ma to na dysku C:\ po czym zrobił "beep" i się wyłączył

Dygresja na temat znaku nowej linii

Niekiedy sporo problemów przysparza znak nowej linii, ponieważ jest on różnie zapisywany na różnych platformach:

  • \r\n Styl Windows
  • \r Styl Macintosh
  • \n Styl Unix

Jeśli jednak używamy plików w trybie tekstowym to zawsze używamy \n które jest odpowiednio tłumaczone zależnie od systemu. To zróżnicowanie ma znaczenie tylko podczas dostępu w tzw. trybie binarnym.

2 komentarzy

a zapisz do pliku znak "\n" i otwórz zwykłym windowsowym notatnikiem.. wyswietli sie kwadracik, a jak uzyjesz "\r\n" to notatnik przełamie linie

dlatego notatnik czesto nie nadaje sie do czytania dokumentów tekstowych z innych systemów operacyjnych (wyswietla je jako jedną linijke)

Ja zawsze w Windows używam \n (właściwie to najczęściej endl, ale biorę pod uwagę tyko te trzy które wymieniłeś) i mi działa.