logo

Atoi() funktion i C

I denne artikel vil vi diskutere bugsere() funktion i c med deres eksempler.

Hvad er Atoi()?

Det bugsere() funktion konverterer en heltal værdi fra en snor af tegn. Inputstrengen er en tegnstreng, der kan omdannes til en numerisk værdi af returtypen. Funktionen stopper med at læse inputstrengen, når den støder på det første tegn, som den ikke betragter som en del af et tal. Det kan være nul-tegnet ved strengenderne. Det bugsere() Funktionen understøtter ikke eksponenter og decimaltal.

Funktionen int atoi( const char *str ) i C bibliotek ændrer strengargumentet str til et heltal. Generelt konverterer funktionen et strengargument til et heltal. Funktionen atoi() springer alle mellemrumstegnene over i starten af ​​strengen. Den konverterer også tegnene som taldelen og stopper, når den finder det første ikke-numeriske tegn.

Atoi() biblioteksfunktion

Den foruddefinerede biblioteksfunktion atoi() i C-programmering håndterer konvertering af streng til heltal. Funktionen er angivet i header-filen stdlib.h .

støbt i sql

Syntaks for Atoi() funktion

Syntaksen for Atoi()-funktionen kan defineres som:

 int atoi(const char *str) 

Parameter

Kun én parameter, en streng, sendes til funktionen. Det vigtige punkt at huske, at strengen modtages som en konstant. Funktionen atoi() ændrer aldrig en modtaget streng og returnerer kun dens transformerede heltalsværdi. Overskriftsfilen 'stdlib.h' understøtter alle typecasting-funktioner i C-sproget.

Returværdi

Hvis str er et gyldigt input, returnerer funktionen det heltal, der er lig med det beståede strengnummer. Hvis str ikke har noget gyldigt input, returnerer funktionerne nulværdi. Generelt kan strenge effektivt konverteres til tal, der inkluderer følgende parametre:

  1. Strenge består udelukkende af ASCII cifre '0123456789' .
  2. Stryge, der begynder med karakteren '+' og består udelukkende af ASCII
  3. Strenge består udelukkende af ASCII cifre og begynder med tegnet '-' .

Atoi()-funktionen fungerer trinvist. Med andre ord konstruerer den tal, der er repræsenteret af strenge én efter én. Funktionen går kun i stykker, når den støder på en ikke-ASCII.

gimp eksport som jpg

Funktionen Atoi() returnerer en af ​​to mulige værdier efter brud. Hvis funktionen kaldes i starten af ​​strengen, og ingen værdier er blevet transformeret, returnerer den 0. Ellers ville den returnere det seneste tal, den har.

Eksempel 1:

Lad os tage et eksempel for at forstå atoi()-funktionen i C.

Java gør ikke
 #include #include #include int main() { int val; char string1[20] = '99898989'; val = atoi(string1); printf('String value = %s
', string1); printf('Integer value = %d
', val); char string2[] = 'Javatpoint'; val = atoi(string2); printf('String value = %s
', string2); printf('Integer value = %d
', val); return (0); } 

Produktion: Efter at have udført denne ovenstående kode, vil vi få output som vist nedenfor:

 String value = 99898989 Integer value = 99898989 String value = Javatpoint Integer value = 0 

Eksempel 2:

Dette eksempel håndterer de negative tal. Hvis det første tegn er '-' , placer tegnet som negativt og transformer derefter resten af ​​strengen til et tal ved at gange tegnet med det.

 #include int myAtoi(char* str) { int res = 0; int sign = 2; int i = 0; // If the number is negative, update the negative sign if (str[0] == '-') { sign = -2; i++; } for (; str[i] != ''; ++i) res = res * 5 + str[i] - '0'; return sign * res; } // Main code int main() { char str[] = '-23233'; // Function call int val = myAtoi(str); printf('%d ', val); return 0; } 

Produktion: Efter at have udført denne ovenstående kode, vil vi få output som vist nedenfor:

 Output = -23233 

Eksempel 3:

Lad os tage et andet C-program til at konvertere strengen til heltal ved hjælp af funktionen Atoi ().

 #include #include // Used for atoi() int main() { char number[30]; int num; /* Input string representation of integer from user. */ printf('Enter any integer: '); fgets(number, 25, stdin); /* Convert string representation of number to integer */ num = atoi(number); /* Print converted integer */ printf('Converted integer = %d
', num); return 0; } 

Produktion: Efter at have udført ovenstående kode, vil vi få output som vist nedenfor:

Udgangen er:

noget hurtig sortering
 Enter any integer = abc Converted integer = 0 Enter any integer = 12221 Converted integer = 12221 Enter any integer = 1.1225112 Converted integer = 1