logo

Funkcja Atoi() w C

W tym artykule omówimy holowniczy() funkcji w c z ich przykładami.

Co to jest Atoi()?

The holowniczy() funkcja konwertuje liczba całkowita wartość od A strunowy znaków. Ciąg wejściowy to ciąg znaków, który można przekształcić w wartość liczbową typu zwracanego. Funkcja przestaje czytać ciąg wejściowy, gdy napotka pierwszy znak, którego nie uważa za część liczby. Może to być znak null na końcach ciągu. The holowniczy() funkcja nie obsługuje wykładników i liczb dziesiętnych.

Funkcja int atoi( stała char *str ) w C biblioteka zmienia argument ciągu str na liczbę całkowitą. Ogólnie rzecz biorąc, funkcja konwertuje argument w postaci ciągu znaków na liczbę całkowitą. Funkcja atoi() pomija wszystkie białe znaki na początku łańcucha. Konwertuje także znaki na część liczbową i zatrzymuje się, gdy znajdzie pierwszy znak niebędący liczbą.

Funkcja biblioteki Atoi().

Predefiniowana funkcja biblioteczna atoi() w programowaniu C obsługuje konwersję łańcucha znaków na liczbę całkowitą. Funkcja jest określona w pliku nagłówkowym stdlib.h .

ile milionów jest w miliardzie

Składnia funkcji Atoi().

Składnię funkcji Atoi() można zdefiniować jako:

 int atoi(const char *str) 

Parametr

Do funkcji przekazywany jest tylko jeden parametr – ciąg znaków. Należy pamiętać, że ciąg znaków jest odbierany jako stała. Funkcja atoi() nigdy nie zmienia odebranego ciągu, a jedynie zwraca jego przekształconą wartość całkowitą. Plik nagłówkowy „stdlib.h” obsługuje wszystkie funkcje rzutowania tekstu w języku C.

Wartość zwracana

Jeśli str jest prawidłowym wejściem, funkcja zwraca liczbę całkowitą równą przekazanemu numerowi ciągu. Jeśli str nie ma poprawnych danych wejściowych, funkcje zwracają wartość zerową. Ogólnie rzecz biorąc, ciągi znaków można skutecznie przekonwertować na liczby, korzystając z następujących parametrów:

  1. Struny składające się w całości z ASCII cyfry „0123456789” .
  2. Ciągi znaków rozpoczynające się od znaku „+” i składają się w całości z ASCII
  3. Struny składające się w całości z ASCII cyfr i zaczynając od znaku „-” .

Funkcja Atoi() działa przyrostowo. Innymi słowy, konstruuje liczby reprezentowane jeden po drugim przez ciągi znaków. Funkcja psuje się tylko wtedy, gdy napotka znak inny niż ASCII.

przekonwertuj ciąg na int

Funkcja Atoi() po przerwaniu zwraca jedną z dwóch możliwych wartości. Jeśli funkcja zostanie wywołana na początku łańcucha i nie zostały przekształcone żadne wartości, zwraca 0. W przeciwnym razie zwraca ostatnią posiadaną liczbę.

Przykład 1:

Weźmy przykład, aby zrozumieć funkcję atoi() w C.

mapa skrótów Java
 #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); } 

Wyjście: Po wykonaniu powyższego kodu otrzymamy wynik jak pokazano poniżej:

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

Przykład 2:

Ten przykład zarządza liczbami ujemnymi. Jeśli pierwszym znakiem jest „-” , umieść znak jako ujemny, a następnie przekształć resztę ciągu w liczbę, mnożąc znak przez ten znak.

 #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; } 

Wyjście: Po wykonaniu powyższego kodu otrzymamy wynik jak pokazano poniżej:

 Output = -23233 

Przykład 3:

Weźmy inny program w C, który przekonwertuje ciąg na liczbę całkowitą za pomocą funkcji 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; } 

Wyjście: Po wykonaniu powyższego kodu otrzymamy wynik jak pokazano poniżej:

Dane wyjściowe to:

cykl życia SDLC
 Enter any integer = abc Converted integer = 0 Enter any integer = 12221 Converted integer = 12221 Enter any integer = 1.1225112 Converted integer = 1