Kurs C
menu C#
Łańcuchy znakowe |
W języku C nie ma czegoś takiego jak string. Wszystkie napisy zapisywane są w tablicach. Oczywiście w standardowych bibliotekach można znaleźć funkcje ułatwiające obsługę tablic znakowych. Do dyspozycji mamy bibliotekę string.h a najważniejsze funkcje tej biblioteki zaprezentuje poniżej. strchr() - Określa położenie znaku wewnątrz łańcuchu. strstr() - Określa położenie jednego łańcucha znaków wewnątrz drugiego. strcmp() - Porównuje dwa łańcuchy znaków. strlen() - Określa długość łańcucha. strcpy() - kopiuje jeden łańcuch do drugiego. strcat() - Łączy dwa łańcuchy znaków. Ja głównie używam funkcji strlen(), która potrafi określić długość łańcucha oraz funkcji strstr(), która potrafi odszukać określony ciąg znaków w innym łańcuchu oraz podać jego adres w pamięci. Gdy funkcja strstr() zwróci wartość 0, to znaczy, że w łańcuchu nie ma szukanego ciągu znaków. W innym przypadku zwróci adres komórki pamięci w której znajduje się pierwsza litera szukanego ciągu znaków. Mając adres komórki w pamięci i wiedząc, że element char zajmuje 8 bitów= 1 bajt w łatwy sposób można obliczyć, gdzie znajduje się szukany łańcuch. Dla przykładu: Po odpaleniu programu dostaniemy napis: Oczywiście adres w pamięci może być inny dla różnych, ale reszta będzie taka sama na każdym komputerze. |