Konverter streng til lang i C

Konverter streng til lang i C
En streng er en av datatypene som brukes til datasett i programmeringsspråk. Det er en samling karakterer som ender ved å bruke null -tegnet på C -språket. En streng kan inneholde noen observerbare eller uidentifiserte serier med tegn, og noen ganger kan elementer dupliseres.

Som standard setter kompilatoren en nullkarakter til fullføringen av en serie elementer omgitt av omvendte komma. Den lange datatypen beholder heltall på samme måte som int, men den har et større utvalg av muligheter når du bruker ekstra minne. Strtol () -metoden har blitt brukt for å endre et heltalls strengillustrasjon til en lang type. Det er erklært i overskriftsfilen . Det er mye mer allsidig og effektivt enn ATOL () -metoden.

Strtol () -metoden lar brukeren angi verdien av strengens base. Denne metoden vil bli brukt til å oversette enhver streng til en lang type. Vi kan umiddelbart skille mellom effektive og ineffektive transformasjoner etter Strtol () -metoden. I denne artikkelen skal vi utforske hvordan du kan transformere en streng til en lang, mens vi bruker flere C -funksjoner.

Bruk Strtol () -funksjonen for å endre strengen til lang

Strtol () er en C -biblioteksmetode for å transformere den første delen av en streng til en lang datatypeverdi basert på den spesifiserte basen, som må være mellom 2 og 36 som omfatter eller den eksepsjonelle verdien 0.

Strtol () -metoden krever tre argumenter: en definert streng, en peker og en numerisk verdibase. Den oversetter strengens data som en integrert del av den medfølgende basen og produserer en lang INT -verdi.

#inkludere
#inkludere
int main ()
char s [40] = "304852 informasjonsteknologi";
char *p;
lang res;
res = strtol (s, & p, 10);
printf ("antallet er %ld \ n", res);
printf ("Strengdel er |%s |", p);
return (0);

Vi skal starte programmet ved å integrere to biblioteker: og . I neste trinn bruker vi Main () -funksjonen. Innenfor hovedfunksjonen () er en streng som har en tegndatatype definert. Her setter vi størrelsen på den definerte strengen. Denne strengen inneholder både numeriske og alfabetiske deler.

Videre erklærer vi en peker og en variabel "lang res" for lagring av resultatet. Nå bruker vi strtol () -funksjonen. Denne metoden inneholder tre argumenter. Den første parameteren viser den integrerte delen av den definerte strengen. Det andre argumentet er pekeren til et karakterobjekt som allerede er opprettet.

Funksjonen spesifiserer verdsettelsen av slutten mot neste gyldige tegn i strengen og fulgt av den tidligere passende karakteren. Og den siste parameteren representerer basen til den numeriske delen. Området for akseptable basisverdier er 0, 2, 3… 35, 36. Derfor skriver metoden Printf () først den numeriske delen og skriver deretter ut strengdelen.

Bruk Strtol () -funksjonen for foregående avstand med forskjellige baser

Inntil det innledende ikke-hvite space-elementet blir oppdaget, unngår Strtol () -metoden noen foregående hvittbildeelementer. Denne funksjonen transformerer strengen til en lang INT -verdi og tar mange av elementene etter behov som skaper en passende heltallsillustrasjon. Siden den siste definitive karakteren er alt som er igjen på linjen eliminert og har ingen innvirkning på utfallet.

#inkludere
#inkludere
ved hjelp av navneområdet STD;
int main ()

char *e;
printf ("40lmno til langt heltall med base-13 = %d \ n");
Strtol ("40lmno", & e, 13);
printf ("streng = %s", e);
printf ("13674di til langt heltall med base-6 = %d \ n");
Strtol ("13674di", & e, 6);
printf ("streng = %s", e);
printf ("PQT589.2 til langt heltall med base-20 = %d \ n ");
Strtol ("PQT589.2 ", & e, 20);
printf ("streng = %s", e);
retur 0;

Her introduserer vi to overskriftsfiler og . Etter dette bruker vi standard navneområdefunksjon. Videre starter kroppen til hoved () -funksjonen. I mellomtiden konstruerer vi pekeren til karakterdatatypen. Nå bruker vi printf () -funksjonen for å vise den definerte linjen.

I tillegg brukes også strtol () -funksjonen. Denne funksjonen inneholder den nødvendige strengen, pekeren og basen som strengen må konverteres til som parametere. I neste trinn brukes printf () -funksjonen igjen til å vise den konverterte strengen. Tilsvarende bruker vi strtol () -funksjonen og setter basen til 6 og 20. Printf () -metode brukes også for å få resultatene av disse konverteringene. For å avslutte programmet, må vi inkludere følgende “Return 0” -uttalelse:

Bruk Atol () -funksjonen for å konvertere strengen til lang

En alfanumerisk streng blir endret til en lang verdi ved bruk av ATOL () -metoden. Den tilsvarende strengen er en serie biter som kan oversettes til en heltallverdi av datatypen som er gitt. Metoden nekter å lese den angitte strengen når den først oppdager det første tegnet og ikke identifiserer den som et heltall. Dette kan være den ugyldige karakteren ved avslutning av strengen.

ATOL () -metoden genererer en lang verdi ved å konvertere de spesifiserte tegnene til heltall. Hvis funksjonen ikke kan transformere dataene til en variabel av den typen, gir den 0L. I overbelastningssituasjonen er returtypen ugyldig.

#inkludere
#inkludere
Int Main (Void)

lang l;
char *str;
STR = "349639 dollar";
l = atol (str);
printf ("l = %.ld \ n ", l);

I starten av koden må vi inkludere de nødvendige overskriftsfilene, og . Nå bruker vi Main () -funksjonen. I neste trinn erklærer vi en variabel som har en lang datatype og en peker for strengen som har en tegndatatype. Deretter spesifiserer vi verdien av strengen i dollar.

I tillegg til dette kalles ATOL () -metoden. Her passerte vi den nødvendige strengen som en parameter til denne funksjonen. ATOL () -funksjonen konverterer strengen til lang. Til slutt bruker vi printf () -funksjonen for å vise resultatet.

Konklusjon

I denne artikkelen har vi observert metodene for å konvertere strengen til lenge på C -språket. Her har vi gått gjennom bruken av strtol () -funksjonen og ATOL () -funksjonen for denne typen konvertering. Vi har også brukt Strtol () -metoden med forskjellige baser for å konvertere streng til lang. Vi håper du fant denne artikkelen nyttig. Sjekk de andre Linux -hint -artiklene for flere tips og opplæringsprogrammer.