Hva er strtol () -funksjon i C++
De Strtol () Funksjon er en innebygd funksjon i C ++ som konverterer en streng til en lang heltallverdi. Den godtar en streng som data og transformerer den til en heltallverdi med den spesifiserte basen. I tillegg returnerer metoden en lenke eller peker til det første uriktige tegnet i strengen.
Syntaks av strtol () -funksjon
Syntaksen til Strtol () Funksjon i C ++ er som følger:
Strtol (S, & End, base)
Parametere av strtol () -funksjon
De Strtol () Funksjon har tre parametere:
Returt type strtol () -funksjon
De Strtol () Funksjonen returnerer en lang heltallverdi som konverteres fra inngangsstrengen. Hvis ingen konvertering skjer, returnerer den 0.
Header-fil i C ++ for å bruke strtol () -funksjon i C++
Før du bruker Strtol () Funksjon i C ++ -koden din, du må definere #inkludere headerfil.
Eksempler på strtol () -funksjon i C++
Følgende er noen eksempler på bruk Strtol () funksjon i c++.
Eksempel 1: Program for å konvertere en streng til lange heltall ved hjelp av desimal base
Med Strtol () Funksjon, det er ganske enkelt å konvertere en streng til et langt heltall ved hjelp av desimalbasen. Koden til C ++ som trengs i en slik situasjon vises nedenfor.
#inkludere
#inkludere
ved hjelp av navneområdet STD;
int main ()
char str [] = "12345678";
char* endPtr;
Langt num = Strtol (Str, & EndPtr, 10);
if (endPtr == str)
cout<<"Invalid input"<annet
cout<<"The number is: "<
retur 0;
Ovennevnte program erklærer en karaktergruppe som heter STR, som inneholder strengen “12345678”. En peker som heter EndPtr brukes til å lagre adressen til det første tegnet i strengen som ikke er en del av det konverterte nummeret. De Strtol () Funksjon kalles da, med argumentets STR, & ENDPTR, og 10. Det første argumentet er strengen som skal konverteres, det andre argumentet er adressen til pekeren som vil bli oppdatert med sluttposisjonen til strengen, og det tredje argumentet er basen for konverteringen, som er desimal i dette tilfellet.
Programmet sjekker da om EndPtr er lik starten av strengen. Hvis det er det, betyr det at konverteringen ikke var vellykket, og en feilmelding skrives ut. Ellers skriver programmet ut det konverterte nummeret.
Produksjon
Eksempel 2: Program for å konvertere strenger til lange heltall med 0 baser
Hvis vi setter basisargumentet til Strtol () Funksjon til 0, vil funksjonen automatisk oppdage basen fra inngangsstrengen. Dette gjør det lettere å konvertere strenger med forskjellige baser uten å måtte spesifisere basen eksplisitt. For eksempel, hvis strengen begynner med “0x”, Det oppdages automatisk som et heksadesimalt tall.
Ved å bruke Strtol () Funksjon For å konvertere strenger til lange heltall med 0 baser, kan vi sikre at inngangsstrengen er gyldig og kan konverteres riktig til et langt heltall. Dette kan være nyttig i mange typer implementeringer, for eksempel å lese numeriske verdier fra brukerinngang eller analyse av informasjon fra tekstdokumenter.
Programmet gitt nedenfor er godt i henhold til den tidligere uttalte situasjonen.
#inkludere
#inkludere
ved hjelp av navneområdet STD;
int main ()
char str [] = "0xa0b0c0";
char* endPtr;
Langt num = Strtol (Str, & EndPtr, 0);
if (endPtr == str)
cout<<"Invalid input"<annet
cout<<"The number is: "<
retur 0;
Ovennevnte program erklærer en karakterist som heter str, som inneholder strengen “0xa0b0c0”. De '0x' Prefikset indikerer at strengen er i heksadesimal format. En peker som heter EndPtr er også erklært, som vil bli brukt til å lagre adressen til det første tegnet i strengen som ikke er en del av det konverterte nummeret. De Strtol () Funksjon kalles da, med argumentets STR, & ENDPTR, og 0. Basen for konverteringen, som er satt til 0, oppdager automatisk basen fra inngangsstrengen.
Programmet sjekker da om EndPtr er lik starten av strengen. Hvis det er det, betyr det at konverteringen ikke var vellykket, og en feilmelding skrives ut. Ellers skriver programmet ut det konverterte nummeret.
Produksjon
Konklusjon
I c++, Strtol () Funksjon brukes til konvertering av en streng til en lang heltallverdi. Etter retningslinjene ovenfor vil du kunne lære bruken av Strtol () funksjon i C ++ siden du finner forskjellige eksempler som vil hjelpe deg med å forstå det grunnleggende i denne funksjonen.