string functions c
In deze tutorial zullen we enkele van de populaire stringfuncties in C ++ bespreken, zoals getline substring, stringlengte, string zoeken, gesplitste string enz.:
C ++ heeft een stringklasse die wordt gebruikt voor een reeks tekens die ook wel strings worden genoemd. Deze klasse is std :: string Deze klasse slaat de strings op als een reeks karakterbytes en biedt functies waarmee we de strings kunnen manipuleren, openen en lezen, en afzonderlijke tekens kunnen openen en manipuleren.
waar vind je de netwerkbeveiligingssleutel
Bezoek hier voor de complete C ++ -cursus van experts.
Wat je leert:
C ++ String-functies
C ++ - string is een reeks tekens. Als we strings definiëren in C ++, gebruiken we een string
trefwoord dat niets anders is dan std :: string class. Deze stringklasse ondersteunt verschillende functies, van het lezen van een string, het manipuleren, openen van een string, enz. Die verschillende bewerkingen uitvoeren op string-objecten. Enkele veelgebruikte functies worden hieronder vermeld:
Nee | String-functies | Omschrijving |
---|---|---|
een | getline | Haalt de lijn van stream naar string |
twee | substr | Haal een substring van een bepaalde string op |
4 | Lengte, strlen | Verkrijg de lengte van de string |
5 | Vind | Vind inhoud in string |
6 | Strtok, substraat met scheidingsteken | Splits string in tokens |
getline C ++
Functieprototype: istream & getline (istream & is, string & str)
Parameter (s): is => istream-object waaruit de tekens worden geëxtraheerd.
str => String-object dat wordt gebruikt om geëxtraheerd teken op te slaan.
Winstwaarde: Retourwaarde is hetzelfde als istream is. Intern stelt de uitvoering van de getline bepaalde interne vlaggen als volgt in.
vlag | Foutbeschrijving |
---|---|
eofbit | Einde van de tekenbron bereikt |
failbit | Invoer kan niet worden geïnterpreteerd als een geldige tekstuele weergave van het object van dit type |
badbit | Elke andere fout behalve de bovenstaande twee |
Omschrijving: getline is een standaard bibliotheekfunctie. Deze functie wordt gebruikt om een regel of string te lezen uit een standaard invoerstroom zoals istream. De regels of strings worden gelezen totdat ' n', dat wordt beschouwd als scheidingsteken, wordt aangetroffen.
Als een andere versie van getline, kan een derde parameter 'char delim' worden gespecificeerd. Dit is een expliciet scheidingsteken. In deze functie wordt een regel tekst of tekenreeks gelezen totdat het opgegeven scheidingsteken wordt aangetroffen.
Hieronder is een eenvoudig voorbeeld gegeven om het gebruik van getline te demonstreren.
Voorbeeld:
Uitgang:
Voer de invoertekenreeks in:
C ++ tutorials
Je hebt ingevoerd: C ++ tutorials
In het bovenstaande voorbeeld lezen we een invoertekenreeks met de functie getline. Merk op dat de ingevoerde strings of tekst in string-object mystr wordt gelezen totdat ‘ n’ wordt aangetroffen.
C ++ Substr
Functieprototype: tekenreeks substr (size_t startpos, size_t endpos)
Parameter (s): startpos => Startpositie van waaruit de substring moet worden geëxtraheerd.
endpos => Eindpositie van substring.
Winstwaarde: Retourneert een tekenreeks die een substring is van de bovenliggende tekenreeks.
Omschrijving: Deze functie retourneert een substring van een opgegeven string. De functie neemt de begin- en eindposities als parameters en retourneert vervolgens de tekenreeks tussen deze posities.
Voorbeeld:
Uitgang:
Invoertekenreeks: SoftwareTestingHelp
Substring (0,8): Software
C ++ lengte
De lengte van de string is het aantal karakters dat aanwezig is in de string. De std :: string-objectweergave van strings in C ++ gebruikt de length () -functies om de lengte van de string te retourneren.
Afgezien hiervan hebben we ook een maatmethode die de grootte van de string retourneert. We hebben de groottemethode in het onderstaande voorbeeld gebruikt voor de functie length (). Een andere functie die de lengte van de string retourneert, is ‘strlen’. Deze functie retourneert de lengte van de tekenreeks die wordt aangegeven door een tekenreeks.
We zullen beide functies een voor een bekijken met voorbeelden.
lengte()
Functieprototype: size_t lengte ()
Parameter (s): Opgeroepen door de string waarvan de lengte moet worden achterhaald.
Winstwaarde: Retourneert een parameter type size_t die de lengte van de tekenreeks is.
Omschrijving: Deze functie zoekt de lengte van het string-object waarmee het wordt aangeroepen.
Voorbeeld:
Uitgang:
Invoertekenreeks: SoftwareTestingHelp
De lengte van de string (met lengtemethode) is: 19
De maat van de string (met maatmethode) is: 19
In het bovenstaande programma gebruiken we zowel de lengte- als de groottefuncties van de std :: string die respectievelijk de lengte en grootte van het stringobject retourneert. Omdat lengte en grootte het aantal tekens in de string retourneren, krijgen we dezelfde uitvoer.
strlen ()
Functieprototype: size_t strlen (const char * str);
Parameter (s): str => Pointer naar een string met een null-einde waarvan de lengte moet worden achterhaald.
Retourwaarde: R eturns size_t waarde die de lengte van de string str aangeeft.
Omschrijving: strlen () functie retourneert de lengte van de met null beëindigde tekenreeks. De tekenreeks die door de strlen-functie als parameter wordt gebruikt, is een tekenreeks met null-eindigend.
Voorbeeld:
Uitgang:
youtube video-downloader-app voor pc
Lengte van mystr1 = 23
Lengte van mystr2 = 25
mystr2 is langer dan mystr1
In het bovenstaande programma hebben we twee verschillende strings gedefinieerd en we vinden hun individuele lengte met behulp van de strlen-functie. Vervolgens vergelijken we de lengte van de twee snaren en bepalen of de snaren gelijk of ongelijk zijn.
C ++ zoeken
Functieprototype: size_t find (string mysub)
Parameter (s): mysub => String-object om te vinden in de bovenliggende string.
Winstwaarde: size_t => Eerste positie van de substring in de bovenliggende string
Omschrijving: De zoekfunctie van de string wordt gebruikt om de positie van de subtekenreeks in de bovenliggende string te vinden. Deze functie wordt aangeroepen door de bovenliggende tekenreeks en een deelstring waarvan de positie moet worden gevonden, wordt als parameter doorgegeven. Als de subtekenreeks niet aanwezig is, wordt een lege positie geretourneerd.
Voorbeeld:
Uitgang:
Eerste keer dat een stringtest voorkomt: 8
Eerste keer dat string Help voorkomt: 15
Dit programma definieert een string als 'SoftwareTestingHelp'. Met behulp van de zoekfunctie vinden we het eerste exemplaar van de string “Test” in de bovenliggende string. Vervolgens vinden we het voorkomen van de 'Help' -reeks. De uitvoer is de positie van het voorkomen van de gezochte string.
String splitsen
Het splitsen van een string met behulp van een scheidingsteken of een token is een nuttige bewerking. Omdat we in C ++ meer dan één representatie van strings hebben, kunnen we verschillende benaderingen gebruiken om een string te splitsen. Hier zullen we twee benaderingen bespreken om een string te splitsen.
Splitsen std :: string Object
De eenvoudigste manier om een string-object te splitsen, is door de ‘substr’ -functie op het object te gebruiken en het scheidingsteken als de eindpositie op te geven, zodat we de substring krijgen. Op deze manier kunnen we de string op het scheidingsteken splitsen totdat we de hele string hebben doorlopen.
Laten we eens kijken naar het onderstaande voorbeeld dat eerst de positie van het scheidingsteken zoekt met behulp van de ‘find’ -functie en vervolgens de substring vindt en uiteindelijk elk van de tokens uitvoert.
Uitgang:
Deze
is
software
testen
helpen
Zoals getoond in het bovenstaande programma, specificeren we een scheidingsteken dat zal worden gebruikt om de gegeven string te splitsen. In een lus vinden we herhaaldelijk het voorkomen van scheidingsteken met behulp van de zoekfunctie en geven deze door aan de substr-functie en halen de substring op. Vervolgens wordt elk van deze verkregen tokens weergegeven als de uitvoer.
Karakterreeks splitsen met behulp van strtok-functie
Een andere manier om een string te tokeniseren (string splitsen met een scheidingsteken) is door de ‘strtok’ functie te gebruiken. We zullen de details van de ‘strtok’ functie hieronder bespreken.
Functieprototype: char * strtok (char str (), const char * delim)
Parameter (s): str () => String die moet worden gesplitst.
Delim => Scheidingsteken waarop de string moet worden gesplitst.
Winstwaarde: Retourneert het volgende token na het splitsen van de bovenliggende tekenreeks.
Omschrijving: De strtok-functie splitst de gegeven string in tokens op bepaalde scheidingstekens. Deze functie moet in een lus worden aangeroepen, zodat we alle tokens voor een bepaalde string krijgen. Als er geen tokens meer zijn, retourneert de functie null.
Voorbeeld:
Uitgang:
Deze
is
software
testen
helpen
Merk op dat we in dit programma de strtok-functie gebruiken waaraan een string en een scheidingsteken als argumenten moeten doorgegeven worden. Vervolgens wordt de string in het token gesplitst op basis van het opgegeven scheidingsteken en worden de individuele tokens weergegeven.
hoe je een apk-bestand opent op Android
Gevolgtrekking
We hebben in deze tutorial enkele van de algemene belangrijke functies gezien die voor C ++ strings worden gebruikt.
We hebben de functies besproken om een invoertekenreeks te lezen, een tekenreeks te vinden, een deelstring van de bovenliggende tekenreeks, de lengte van de tekenreeks, een tekenreeks te splitsen, enz. Samen met hun variaties. Deze functies helpen ons om strings efficiënt te lezen en te manipuleren.
In onze volgende tutorial zullen we enkele van de conversiefuncties die worden gebruikt met C ++ - string in detail bekijken.
Bezoek hier om de volledige C ++ trainingsreeks voor iedereen te zien.
Aanbevolen literatuur
- Python String-functies
- Java String met String Buffer en String Builder Tutorial
- C ++ karakterconversiefuncties: char naar int, char naar string
- VBScript String-functies: VBScript inStr-, Replace-, Mid- en Trim-functies
- Python String Split-zelfstudie
- C # String Tutorial - String-methoden met codevoorbeelden
- Python-functies
- String Array C ++: implementatie en weergave met voorbeelden