C - Snaren
Strings zijn in feite een eendimensionale reeks tekens die worden afgesloten met een null teken '\0'. Een null-terminated string bevat dus de tekens waaruit de string bestaat, gevolgd door een null .
De volgende declaratie en initialisatie creëren een string die bestaat uit het woord "Hallo". Om het null-teken aan het einde van de array vast te houden, is de grootte van de tekenarray die de tekenreeks bevat één meer dan het aantal tekens in het woord 'Hallo'.
char greeting[6] = {'H', 'e', 'l', 'l', 'o', '\0'};
Als u de regel van array-initialisatie volgt, kunt u de bovenstaande verklaring als volgt schrijven −
char greeting[] = "Hello";
Hieronder volgt de geheugenpresentatie van de hierboven gedefinieerde string in C/C++ −
Eigenlijk plaatst u de null . niet teken aan het einde van een stringconstante. De C-compiler plaatst automatisch de '\0' aan het einde van de tekenreeks wanneer de array wordt geïnitialiseerd. Laten we proberen de bovengenoemde string af te drukken −
Live demo#include <stdio.h> int main () { char greeting[6] = {'H', 'e', 'l', 'l', 'o', '\0'}; printf("Greeting message: %s\n", greeting ); return 0; }
Wanneer de bovenstaande code wordt gecompileerd en uitgevoerd, levert dit het volgende resultaat op −
Greeting message: Hello
C ondersteunt een breed scala aan functies die op nul eindigende tekenreeksen manipuleren −
Zr.nr. | Functie en doel |
---|---|
1 | strcpy(s1, s2); Kopieert string s2 naar string s1. |
2 | strcat(s1, s2); Voegt string s2 samen met het einde van string s1. |
3 | strlen(s1); Retourneert de lengte van tekenreeks s1. |
4 | strcmp(s1, s2);
Retourneert 0 als s1 en s2 hetzelfde zijn; kleiner dan 0 als s1 |
5 | strchr(s1, ch); Geeft een pointer terug naar het eerste voorkomen van karakter ch in string s1. |
6 | strstr(s1, s2); Retourneert een aanwijzer naar het eerste voorkomen van tekenreeks s2 in tekenreeks s1. |
In het volgende voorbeeld worden enkele van de bovengenoemde functies gebruikt −
Live demo#include <stdio.h> #include <string.h> int main () { char str1[12] = "Hello"; char str2[12] = "World"; char str3[12]; int len ; /* copy str1 into str3 */ strcpy(str3, str1); printf("strcpy( str3, str1) : %s\n", str3 ); /* concatenates str1 and str2 */ strcat( str1, str2); printf("strcat( str1, str2): %s\n", str1 ); /* total lenghth of str1 after concatenation */ len = strlen(str1); printf("strlen(str1) : %d\n", len ); return 0; }
Wanneer de bovenstaande code wordt gecompileerd en uitgevoerd, levert dit het volgende resultaat op −
strcpy( str3, str1) : Hello strcat( str1, str2): HelloWorld strlen(str1) : 10
C Taal
- C#-tekenreeks
- Java-strings
- Java enum Strings
- Een lijst met strings maken in VHDL
- C++ Strings:strcpy(), strcat(), strlen(), strcmp() VOORBEELDEN
- Strings in C:variabele declareren, initialiseren, afdrukken, voorbeeld
- Java String charAt() Methode met Voorbeeld
- Java String endsWith() Methode met voorbeeld
- Python-strings:vervangen, samenvoegen, splitsen, omkeren, hoofdletters en kleine letters
- Python String count() met VOORBEELDEN
- Java - Strings-klasse