atoi, _atoi_l, _wtoi, _wtoi_l
Konwertowanie ciągu do liczby całkowitej.
int atoi(
const char *str
);
int _wtoi(
const wchar_t *str
);
int _atoi_l(
const char *str,
_locale_t locale
);
int _wtoi_l(
const wchar_t *str,
_locale_t locale
);
Parametry
str
Ciąg do konwersji.locale
Ustawienia regionalne, aby użyć.
Wartość zwracana
Każda funkcja zwraca int wartość wyprodukowanych przez zinterpretowanie wprowadzanie znaków jako liczba.Zwracana jest wartość 0 dla atoi i _wtoi, jeśli dane wejściowe nie można przekonwertować wartości tego typu.
W odniesieniu do przepełnienia o dużych wartościach ujemnych integralną LONG_MIN jest zwracany.atoii _wtoi zwrotu INT_MAX i INT_MIN na te warunki.We wszystkich przypadkach spoza zakresu errno jest ustawiona na ERANGE.Jeśli parametr przekazywany w NULL, wywoływana jest funkcja obsługi nieprawidłowy parametr, jak opisano w Sprawdzanie poprawności parametru.Jeśli wykonanie może kontynuować, ustaw te funkcje errno do EINVAL i zwraca wartość 0.
Uwagi
Te funkcje konwersji ciągu znaków na wartość liczbową (atoi i _wtoi).Ciąg wejściowy jest sekwencja znaków, które mogą być interpretowane jako wartości liczbowe określonego typu.Funkcja Zatrzymuje czytanie ciąg wejściowy od pierwszego znaku, który nie jest rozpoznawana jako część numeru.Znak ten może być znakiem null ('\0' lub L '\0') kończące ciąg.
str Argument atoii _wtoi ma następującą postać:
[whitespace] [sign] [digits]]
A whitespace składa się ze znaków spacja lub tabulator, które są ignorowane; signjest albo plus (+) lub minus (-); i digits są co najmniej jedną cyfrę.
Wersje te funkcje, z _l sufiks są identyczne, z wyjątkiem, że używają oni przekazany zamiast bieżące ustawienia regionalne parametr ustawień regionalnych.Aby uzyskać więcej informacji, zobacz Ustawienia regionalne.
Tekst rodzajowy rutynowych mapowania
TCHAR.Rutynowe H |
_UNICODE & Nie zdefiniowano _MBCS |
_MBCS, definicja |
_UNICODE, definicja |
---|---|---|---|
_tstoi |
atoi |
atoi |
_wtoi |
_ttoi |
atoi |
atoi |
_wtoi |
Wymagania
Procedur |
Wymaganego nagłówka |
---|---|
atoi |
<stdlib.h> |
_atoi_l, _wtoi, _wtoi_l |
<stdlib.h> lub <wchar.h> |
Przykład
Program ten pokazuje, jak liczby przechowywane jako ciągi mogą być konwertowane na wartości liczbowe za pomocą atoi funkcji.
// crt_atoi.c
// This program shows how numbers
// stored as strings can be converted to
// numeric values using the atoi functions.
#include <stdlib.h>
#include <stdio.h>
#include <errno.h>
int main( void )
{
char *str = NULL;
int value = 0;
// An example of the atoi function.
str = " -2309 ";
value = atoi( str );
printf( "Function: atoi( \"%s\" ) = %d\n", str, value );
// Another example of the atoi function.
str = "31412764";
value = atoi( str );
printf( "Function: atoi( \"%s\" ) = %d\n", str, value );
// Another example of the atoi function
// with an overflow condition occuring.
str = "3336402735171707160320";
value = atoi( str );
printf( "Function: atoi( \"%s\" ) = %d\n", str, value );
if (errno == ERANGE)
{
printf("Overflow condition occurred.\n");
}
}