Escape sequences
Język C umożliwia używanie znaków specjalnych poprzez tzw. Escape sequences.
\' | Apostrof |
\" | Cudzysłów |
\\ | Odwrotny ukośnik (Backslash) |
\nnn | Liczba ósemkowa (nnn) |
\0 | Znak zero (null) |
\a | Sygnał dźwiękowy |
\b | Backspace |
\f | Formfeed - tworzy nową stronę |
\n | Nowa linia |
\r | Powrót karetki |
\t | Tabulator poziomy |
\v | Tabulator pionowy |
\xnnn | Liczba 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.
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.