Popularne funkcje ciągów w języku C [z przykładami]

Opublikowany: 2020-10-21

Łańcuchy w języku C to tablica znaków zakończona znakami null ('\0'). Znak null na końcu ciągu wskazuje jego koniec, a ciągi są zawsze ujęte w podwójne cudzysłowy. W języku C znaki są ujęte w pojedyncze cudzysłowy. Kilka przykładów obu z nich pokazano poniżej;

Przykład lub reprezentacja znaków C i ciągów

  • char string[10] = { 's','d','f','d','t','j','a','\0' };
  • ciąg znaków[10]=”świeższe”;
  • ciąg znaków[]=” świeższe”;

Istnieje niewielka różnica między deklaracjami ciągów w obu powyższych stwierdzeniach. Podobnie jak wtedy, gdy deklarujemy char jako string[10], 10 bajtów przestrzeni pamięci zostaje przydzielonych do przechowywania 10 wartości łańcucha, podczas gdy gdy deklarujemy go jako string[], pamięć jest alokowana w momencie wykonywania programu.

Spis treści

Deklaracja ciągu i inicjalizacja

W programowaniu w C łańcuchy można zadeklarować na dwa sposoby, jak pokazano powyżej. W programowaniu w C łańcuch jest sekwencją znaków zakończonych znakiem null lub '\0'. Przykład tego samego podano poniżej:

char temp[]=” ciąg temp”;

Gdy ciąg znaków jest zadeklarowany typu char, który jest ujęty w podwójny cudzysłów, to \0 jest automatycznie dołączane na końcu ciągu. Na przykład:

char temp[]=” ciąg temp”;

T mi m P s T r i n g \0

Deklaracja ciągu

Ciąg znaków w języku C jest deklarowany w następujący sposób:

temp. char[5];

s[0] s[1] s[2] s[3] s[4]

W ten sposób możemy zainicjować ciąg o długości 5.

Inicjalizacja ciągu

Inicjalizację ciągu można wykonać na wiele sposobów, a niektóre z nich podano poniżej:

char t[]=” ciąg temp”;

char t[10]=” ciąg temp”;

char t[]={'t','e','m', 'd','\0'};

char t[5]={'t','e','m', 'd','\0'};

T mi m P \0

t[0] t[1] t[2] t[3] t[4]

W powyższym typie deklaracji możemy przechowywać tylko ciągi, które mają tylko cztery znaki, natomiast jeśli chcesz przechowywać pięć znaków w takim ciągu lub tablicy, może być potrzebna dłuższa tablica znaków.

Przeczytaj: Tablica ciągów w Javie: tablica ciągów Java z przykładami kodowania

Przypisywanie wartości do ciągów

Tablice i ciągi nie obsługują operatorów przypisania. Po zadeklarowaniu ciągów nie można przypisać wartości do zmiennych typu ciąg. Na przykład w języku C nie możemy pisać i przypisywać wartości w następujący sposób:

wykres t[100];

t=”wartość temp.”;

Obsługa ciągów w C

Teraz wymienimy niektóre z popularnych funkcji łańcuchowych w C , które znacznie ułatwiają obsługę łańcuchów. Za pomocą tych funkcji można łatwo wykonać wiele operacji na ciągach, takich jak odczytywanie ciągu, kopiowanie lub odwracanie ciągu i wiele innych operacji na ciągach.

Operatory ciągów lub funkcje ciągów mogą być używane bezpośrednio do manipulowania ciągami. W tym artykule wyjaśnimy funkcje biblioteczne, takie jak gets(), puts(), strlen(), strcopy() i wiele innych, aby wyjaśnić obsługę ciągów w C.

Czasami programiści muszą napisać funkcje łańcuchowe, aby manipulować nimi zgodnie z wymaganym problemem. Jednak manipulację ciągami znaków można wykonać ręcznie, ale może to sprawić, że programowanie będzie dość złożone i obszerne.

Istnieje standardowa biblioteka funkcji łańcuchowych w C , znana jako „string.h”. Ten plik nagłówkowy z rozszerzeniem „.h” zawiera wiele funkcji obsługi ciągów znaków, które mają różną składnię. Omówimy kilka z nich w poniższej sekcji tego artykułu:

Lista niektórych popularnych funkcji obsługi ciągów znaków w C

Funkcjonować Opis
strlen() Potrafi obliczyć długość ciągu
Strcpy() Potrafi skopiować zawartość ciągu do innego
Strcat() Służy do łączenia lub łączenia dwóch ciągów
strcmp() Potrafi porównać dwa ciągi
Strlwr() Potrafi przekonwertować ciąg na małe litery
Strupr() Służy do konwersji liter ciągu na wielkie
Str.() Służy do odwracania ciągu

Kiedy musisz użyć w swoim programie którejkolwiek z funkcji obsługujących ciągi, funkcje te nie ograniczają się tylko do tych wielu. Istnieje również wiele innych funkcji. Omówmy je więc:

1) puts() i pobiera()

Dwie popularne funkcje pobierane i umieszczane w pliku nagłówkowym ciągu służą do pobierania danych wejściowych od użytkownika i wyświetlania odpowiednio ciągu. Obie te funkcje są zdefiniowane w pliku string.h. Zobaczmy jeden przykład tych funkcji:

#włącz główną()

Int main()

{

temp. char[20];

printf("Wpisz swoje imię");

pobiera(temperatura);

printf("Nazywam się: ");

puts(temp);

zwróć 0;

}

2) strcat()

Ta funkcja jest używana w przypadkach, gdy jeden ciąg musi być dołączony na końcu innego ciągu. Funkcja strcat może dołączyć kopię ciągu źródłowego na końcu ciągu docelowego. Użytkownik musi przekazać dwa argumenty opisane poniżej:

i) src

ii) przeznaczenie

Tutaj w miejscu „src” podany jest ciąg, natomiast w miejscu „dest” podany jest ciąg docelowy, w którym musimy dołączyć ciąg źródłowy.

Przykład

#include<string.h>

int main()

{

znak src[20]= „przed”;

znak doc[20]= „po ”;

strcat(docel, źródło);

stawia(dest);

zwróć 0;

}

Dane wyjściowe będą następujące: po przed

3) Funkcja strlen()

Jeszcze jedną funkcją pliku nagłówkowego ciągu, która może być bezpośrednio użyta dla ciągów, jest strlen(). Możesz użyć funkcji strlen(), funkcji napisów w C , kiedy musisz znaleźć długość dowolnego napisu. Można jednak również napisać program ręcznie, aby znaleźć długość dowolnego ciągu, ale użycie tej bezpośredniej funkcji może zaoszczędzić czas, a przykład podano poniżej:

#include<stdio.h>

int main()

{

długość wewnętrzna;

char s[20] = „Jesteśmy tutaj”;

długość=strlen(-y);

printf(„\Długość ciągu = %d \n”, długość);

zwróć 0;

}

Długość sznurka = 11

4) Funkcja strcpy()

Jeśli musisz skopiować zawartość jednego ciągu do drugiego, ta funkcja jest używana. Składnia funkcji to strcpy(dest,source). Funkcja może kopiować zawartość jednego ciągu do drugiego. Jeden przykład funkcji podano poniżej:

#include<string.h>

int main()

{

znak src[20]= „Miejsce docelowe”;

znak doc[20]= „”;

printf(„\n ciąg źródłowy to = %s”, src);

printf(„\n ciąg docelowy to = %s”, dest);

strcpy(docel, źródło);

printf („\nciąg docelowy po strcpy() = %s”, dest);

zwróć 0;

}

Wyjście

Ciąg źródłowy to = Miejsce docelowe

Ciąg docelowy to =

Ciąg docelowy po strcpy() = Destination

Dowiedz się: StringBuffer vs. StringBuilder: różnica między StringBuffer a StringBuilder

5) Funkcja strcmp()

Aby porównać dwa łańcuchy, aby wiedzieć, czy są takie same, czy nie, możemy użyć funkcji strcmp(). Funkcja zwraca określoną wartość, która może wynosić 0, >0 lub <0. W tej funkcji dwie przekazane wartości są traktowane jako rozróżniana wielkość liter, a „A” i „a” są traktowane jako różne litery. Wartości zwracane przez funkcję są używane jako:

i) 0 jest zwracane, gdy dwa ciągi są takie same

ii) Jeśli str1<str2 to zwracana jest wartość ujemna

iii) Jeśli str1>str2 to zwracana jest wartość dodatnia

Przykład:

#include<stdio.h>

#include<string.h>

int main()

{

znak str1[]=”kopiuj”;

char str2[]=”Trofeum”;

int I,j,k;

i=strcmp(str1, „kopiuj”);

j=strcmp(str1, str2);

k-strcmp(str1, „f”);

printf(„\n %d %d %d”,I,j,k);

zwróć 0;

}

Wyjście: 0 -1 1

6) Funkcje strlwr() / strupr()

Czasami może być konieczne przekonwertowanie małych liter dowolnego ciągu na wielkie lub odwrotnie. W tym celu w C są dwie bezpośrednie funkcje łańcuchowe , które mogą być używane do wykonywania konwersji z wielkich na małe lub odwrotnie. Tutaj wyjaśniliśmy przykład tego samego:

#include<stdio.h>

#include<string.h>

int main()

{

char str[]=”ZMIEŃ mnie na małe litery”;

printf(„%s\n”, strlwr(str));

zwróć 0;

}

Dane wyjściowe: zamień mnie na małe litery

Podobnie, jeśli użyjemy funkcji strupr zamiast strlwr, cała zawartość zostanie przekonwertowana na wielkie litery. Możemy użyć funkcji strupr, zdefiniowanej w pliku nagłówkowym ciągu. Dzięki tej funkcji wszystkie litery ciągu są konwertowane, również bez długiej procedury ręcznej.

7) Funkcja strrev()

Jeśli chcesz odwrócić dowolny ciąg bez ręcznego pisania dużego lub obszernego programu, możesz użyć tej funkcji. Funkcja strrev() służy do odwrócenia zawartości ciągu. Funkcja strrev służy do sprawdzania natury napisu, czy dany napis jest palindromem, czy nie. Istnieje również kilka innych zastosowań i zastosowań funkcji odwracania ciągu. Jedno z jego zastosowań podano poniżej:

#include<stdio.h>

#include<string.h>

int main()

{

char temp[20]=”Reverse”;

printf("Ciąg przed odwróceniem to: %s\n", temp);

printf("Ciąg po strrev() :%s", strrev(temp));

zwróć 0;

}

Kilka dodatkowych funkcji obsługi ciągów z celem:

Jak powiedzieliśmy wcześniej, w C istnieje więcej funkcji napisów. Inne często używane funkcje do obsługi napisów w C to:

Funkcjonować Cel, powód
strchr() Zwraca wskaźnik do pierwszego wystąpienia char w str1
strdup() Może powielić ciąg
strset() Ustawia wszystkie znaki ciągu na podany znak
strrchr() Służy do lokalizowania wystąpienia pierwszego znaku wskazującego

Przeczytaj także: Klasa skanera w Javie: rodzaje konstruktorów i metod, jak używać

Ostatnie słowa

Jak każdy inny język C, również posiada ogromną bibliotekę gotowych do użycia lub wbudowanych funkcji. Aby obsłużyć dowolny ciąg znaków, możesz użyć tych funkcji bezpośrednio. Jednak funkcje nie ograniczają się do tych. Istnieje wiele innych funkcji napisów w C w pliku nagłówkowym. Główną ich zaletą jest skrócenie czasu i długości kodowania.

Jeśli chcesz dowiedzieć się więcej o Javie, programach OOP i tworzeniu pełnego stosu oprogramowania, zapoznaj się z dyplomem PG upGrad i IIIT-B w zakresie pełnego tworzenia oprogramowania, który jest przeznaczony dla pracujących profesjonalistów i oferuje ponad 500 godzin rygorystycznego szkolenia, 9 + projekty i zadania, status absolwentów IIIT-B, praktyczne praktyczne projekty zwieńczenia i pomoc w pracy z najlepszymi firmami.

Przygotuj się na karierę przyszłości

BRANŻOWE ZAUFANIE NAUKI - CERTYFIKACJA UZNANA W BRANŻY.
Ucz się więcej