C/Napisy: Różnice pomiędzy wersjami

Usunięta treść Dodana treść
Niepotrzebny (i błędny) - strlen(haslo) w "bezpiecznej wersji" kodu sprawdzającego hasło. Teoretycznie tablica haslo może zawierać dowolne dane w momencie tworzenia, dlatego strlen(haslo) też może być dowolne (choć zwykle będzie to 0).
Usunięcie przykładu opartego o "Napisy - własna implementacja - strona nie istnieje"
Linia 100:
* <nowiki>'\v' - tabulacja pionowa</nowiki>
* <nowiki>'\?' - znak zapytania (pytajnik)</nowiki>
* <nowiki>'\ooo' - liczba zapisana w systemie oktalnym (ósemkowym), gdzie 'ooooo' należy zastąpić trzycyfrową liczbą w tym systemie</nowiki>
* <nowiki>'\xhh' - liczba zapisana w systemie heksadecymalnym (szesnastkowym), gdzie 'hh' należy zastąpić dwucyfrową liczbą w tym systemie</nowiki>
* <nowiki>'\unnnn' - uniwersalna nazwa znaku, gdzie 'nnnn' należy zastąpić czterocyfrowym identyfikatorem znaku w systemie szesnatkowym. 'nnnn' odpowiada dłuższej formie w postaci '0000nnnn'</nowiki>
Linia 375:
</syntaxhighlight>
 
Zawsze możemy też użyć łańcucha typu [[Napisy - własna implementacja|linked list]]:
<syntaxhighlight lang="c">
#include <stdio.h>
 
int main(int argc, const char **argv)
{
char ok = 0;
string haslo;
haslo->wpisz(argv[1]);
string tmp;
tmp->wpisz("poprawne");
if(haslo.porownaj(tmp))
puts("Witaj");
else
puts("Blad");
putchar('\n');
free_string(tmp);
free_string(haslo);
return 0;
}
</syntaxhighlight>
 
=== Nadużycia z udziałem ciągów formatujących ===