CharAt() in C++

Charat In C



Bij het manipuleren van strings krijgen ontwikkelaars vaak te maken met situaties waarin toegang tot de karakters in een string noodzakelijk wordt. Ontwikkelaars van de Java-taal kunnen deze actie moeiteloos uitvoeren met behulp van de functie charAt(). De functie charAt() in een Java-programmeertaal vindt effectief een teken in een string op een opgegeven index en retourneert dit.

De functie charAt() is waardevol en zeer nuttig voor het benaderen en manipuleren van de karakters in een string. Maar hoe kunnen we dezelfde functie uitvoeren in C++? De string::at() functie maakt dezelfde functionaliteit mogelijk in de programmeertaal C++. In dit artikel zullen we dieper ingaan op de werking van de functie string::at() door eenvoudige en nauwkeurige voorbeelden te geven om u te helpen de functionaliteit van de functie string::at() effectief te begrijpen.

Java-tekenreeks CharAt()

In Java is de charAt()-methode van de klasse “String” een veelgebruikte en effectieve functie. Deze methode speelt een belangrijke rol bij het manipuleren van tekenreeksen door toegang tot elk teken in een tekenreeks mogelijk te maken op basis van hun indexposities. Het begrijpen van de syntaxis en functionaliteit van charAt() is essentieel voor een efficiënte verwerking van tekenreeksen in Java-programma's. Het volgende is de syntaxis van de Java-functie charAt():







Syntaxis:



openbaar verkoold tekenAt ( int inhoudsopgave )

De functie charAt() neemt één parameter als geheel getal, een index, die de positie van het gewenste teken aangeeft. Het retourtype van deze functie is char. Laten we eens kijken naar een voorbeeld van de functie charAt() om te begrijpen hoe deze snel werkt:



openbare klasse Main {

openbaar statisch leegte voornaamst ( Snaar [ ] arg ) {

Tekenreeks Char_at = 'CharAt testen' ;

verkoold Charone = Char_at. tekenAt ( 0 ) ;

verkoold grafiektwee = Char_at. tekenAt ( 5 ) ;

verkoold grafiekdrie = Char_at. tekenAt ( 8 ) ;

Systeem. uit . println ( 'Karakter bij index 0: ' + Charone ) ;

Systeem. uit . println ( 'Karakter op index 5: ' + grafiektwee ) ;

Systeem. uit . println ( 'Karakter op index 8: ' + grafiekdrie ) ;

}

}

In dit voorbeeld wordt de tekenreeks “Testing CharAt” gebruikt en wordt de functie charAt() geïmplementeerd om de tekens op index 0, 5 en 8 te krijgen. De respectieve tekens “T”, “n” en “C” op de opgegeven indexen worden vervolgens naar de console afgedrukt. Zie de volgende uitvoermomentopname:





Zoals u in de uitvoer kunt zien, haalt de functie charAt() de tekens op met index 0, 5 en 8 en worden deze op de console afgedrukt. Als we in de programmeertaal C++ moeten werken, gebruiken we de functie “string::at”. Een soortgelijke functie als charAt() in C++ is de functie “string::at” die dezelfde functie uitvoert.



C++ String::at() – Equivalent van de Java CharAt()-functie

In de programmeertaal C++ is de functie string::at() gelijk aan Java's charAt(). De syntaxis van de functie string::at() is als volgt:

verkoold & str. bij ( int inhoudsopgave )

Net als bij de invoer en uitvoer van de charAt()-methode, neemt de functie str.at() een geheel getalparameter die de index vertegenwoordigt van het teken dat moet worden gelokaliseerd. Dezelfde op 0 gebaseerde index wordt gevolgd door de functie str.at(). De index wordt voor volgende tekens met 1 verhoogd. Het resultaat van de functie str.at() is van het type char, wat betekent dat het een char retourneert. Bekijk het volgende voorbeeld om het gebruik van de functie str.at() te illustreren:

#include

#include

namespace std; gebruiken ;

int voornaamst ( ) {

snaarstr = 'CharAt testen' ;

verkoold Charone = str. bij ( 0 ) ;

verkoold grafiektwee = str. bij ( 5 ) ;

verkoold grafiekdrie = str. bij ( 8 ) ;

uit << 'Karakter bij index 0: ' << Charone << eindl ;

uit << 'Karakter op index 5: ' << grafiektwee << eindl ;

uit << 'Karakter op index 8: ' << grafiekdrie << eindl ;

opbrengst 0 ;

}

In dit voorbeeld kiezen we ervoor om dezelfde code te implementeren met behulp van de str.at() functie in C++, die we implementeren met behulp van de charAt() functie in Java. Opnieuw wordt er een tekenreeks 'Testing CharAt' gemaakt en wordt de functie str.at() geïmplementeerd om het teken op index 0, 5 en 8 te krijgen die het eerste, vierde en zevende teken vertegenwoordigen, gegeven de op 0 gebaseerde indexering van C++. Het teken wordt vervolgens opgeslagen in de variabelen Charone, Chartwo en Chartree en naar de console afgedrukt. Laten we nog een voorbeeld implementeren dat de werking van de functie str.at() gedetailleerder demonstreert. Kijk eens naar de volgende code:

#include

namespace std; gebruiken ;

int voornaamst ( ) {

tekenreeks = 'str.at()-tutorial' ;

voor ( int i = 0 ; i < streng. lengte ( ) ; i ++ ) {

uit << 'Het teken in de string bij index' << i << ' is = '

<< streng. bij ( i ) << eindl ;

}

opbrengst 0 ;

}

In dit voorbeeld declareren en initialiseren we een stringvariabele met de naam “strng” met de waarde “str.at() tutorial”. Vervolgens gebruiken we een “for”-lus voor iteratie in de string door elk teken. Binnen de lus geven we elk tekenreekskarakter met zijn index weer. De uitvoer van dit programma toont elk teken in de string “str.at() tutorial” samen met de bijbehorende index. De methode strng.at(i) wordt gebruikt om het teken tijdens elke iteratie van de lus op de opgegeven index te krijgen.

De functie str.at() kan worden gebruikt om de index van het specifieke teken in een string te verkrijgen. De functie str.at() retourneert de index van het eerste teken dat overeenkomt in de tekenreeks. Om dit aan te tonen, implementeren we het volgende voorbeeld. Kijk eens naar de volgende code:

#include

#include

namespace std; gebruiken ;

int voornaamst ( ) {

tekenreeks = 'str.at()-tutorial' ;

voor ( int i = 0 ; i < streng. maat ( ) ; i ++ ) {

als ( streng. bij ( i ) == 'T' ) {

uit << 'De index van 't' is = ' << i << eindl ;

pauze ;

}

}

opbrengst 0 ;

}

Deze C++-code demonstreert een programma dat zoekt naar de eerste keer dat het teken “t” voorkomt in een bepaalde string en de index daarvan afdrukt. Een stringvariabele met de waarde “str.at() tutorial” wordt gedeclareerd en geïnitialiseerd. Met behulp van de “for”-lus itereren we de string door elk teken om de eerste keer dat het teken “t” voorkomt te vinden.

De “if”-voorwaarde wordt gebruikt om elk teken in de string te vergelijken met het geselecteerde teken om te controleren of het een “t” is. Wanneer het eerste teken in de string overeenkomt, wordt de index van dat teken naar de console afgedrukt en verlaat de functie de lus met behulp van “break”. Dit programma geeft de index van de eerste keer dat het teken “t” in de string voorkomt. Als er geen “t” in de string wordt gevonden, wordt de lus voltooid zonder iets af te drukken.

C++ String::at() vergelijken met Java CharAt()

Hoewel beide functies, charAt() in Java en str.at in C++, hetzelfde fundamentele doel dienen, is de functie str.at() in C++ veel sneller dan de functie charAt() in Java. Het biedt toegang tot de karakters per index en maakt het een optimale keuze voor situaties waarin prestaties van cruciaal belang zijn. Het andere opmerkelijke aspect van de str.at()-functie in C++ is de efficiëntie ervan. Ontwikkelaars die overstappen van Java naar C++ of werken aan projecten waarbij zowel C++ als Java betrokken zijn, kunnen profiteren van het begrijpen van deze efficiëntieaspecten.

Conclusie

Kortom, het begrijpen van de tekenreeksmanipulatie in C++ impliceert bekendheid met de functie string::at(), het alternatief voor Java's charAt(). De geïllustreerde voorbeelden demonstreren het praktische gebruik van zowel de functies charAt() als str.at(), waardoor de ontwikkelaars snel en efficiënt toegang kunnen krijgen tot specifieke tekens. De efficiëntie van de str.at()-functie in C++ vergroot de behoefte ervan nog verder, waardoor het een belangrijke functie wordt voor tekenreeksmanipulatietaken. Of u nu overstapt van de Java-taal naar de C++-taal of op het punt staat een ingewikkeld C++-project te maken, een goed begrip van deze functies is een must om efficiënt en effectief met de strings in uw programma's om te gaan.