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;
}
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.