logo

Funzione Atoi() in C

In questo articolo discuteremo di trainare() funzione in c con i loro esempi.

Cos'è Atoi()?

IL trainare() la funzione converte un numero intero valore da a corda di personaggi. La stringa di input è una stringa di caratteri che può essere trasformata in un valore numerico di tipo restituito. La funzione smette di leggere la stringa di input quando incontra il primo carattere che non considera parte di un numero. Potrebbe essere il carattere nullo alla fine della stringa. IL trainare() la funzione non supporta gli esponenti e i numeri decimali.

La funzione int atoi( const carattere *str ) nel C la libreria cambia l'argomento stringa str in un numero intero. In genere, la funzione converte un argomento stringa in un numero intero. La funzione atoi() salta tutti i caratteri di spazio bianco all'inizio della stringa. Converte anche i caratteri come parte numerica e si ferma quando trova il primo carattere non numerico.

Funzione di libreria Atoi()

La funzione di libreria predefinita atoi() nella programmazione C gestisce la conversione da stringa a intero. La funzione è specificata nel file di intestazione stdlib.h .

git aggiungi tutto

Sintassi della funzione Atoi()

La sintassi della funzione Atoi() può essere definita come:

 int atoi(const char *str) 

Parametro

Alla funzione viene passato un solo parametro, una stringa. Il punto importante da ricordare è che la stringa viene ricevuta come costante. La funzione atoi() non modifica mai una stringa ricevuta e restituisce solo il suo valore intero trasformato. Il file di intestazione 'stdlib.h' supporta tutte le funzioni di typecasting nel linguaggio C.

Java aggiunge stringa

Valore di ritorno

Se str è un input valido, la funzione restituisce il numero intero uguale al numero di stringa passata. Se str non ha input validi, le funzioni restituiscono il valore zero. In generale, le stringhe possono essere effettivamente convertite in numeri includendo i seguenti parametri:

  1. Stringhe composte interamente da ASCII cifre '0123456789' .
  2. Stringhe che iniziano con il carattere '+' e sono costituiti interamente da ASCII
  3. Stringhe composte interamente da ASCII cifre e iniziano con il carattere '-' .

La funzione Atoi() funziona in modo incrementale. In altre parole, costruisce numeri rappresentati da stringhe uno per uno. La funzione si interrompe solo quando incontra un valore non ASCII.

La funzione Atoi() restituisce uno dei due valori possibili dopo l'interruzione. Se la funzione viene chiamata all'inizio della stringa e nessun valore è stato trasformato, restituisce 0. Altrimenti restituirebbe il numero recente di cui dispone.

Esempio 1:

Facciamo un esempio per comprendere la funzione atoi() in C.

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

Produzione: Dopo aver eseguito il codice sopra, otterremo l'output come mostrato di seguito:

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

Esempio 2:

Questo esempio gestisce i numeri negativi. Se il primo carattere è '-' , posiziona il segno come negativo e quindi trasforma il resto della stringa in un numero moltiplicando il segno per esso.

converti int in stringa java
 #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; } 

Produzione: Dopo aver eseguito il codice sopra, otterremo l'output come mostrato di seguito:

 Output = -23233 

Esempio 3:

Prendiamo un altro programma C per convertire la stringa in numero intero utilizzando la funzione Atoi ().

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

Produzione: Dopo aver eseguito il codice sopra, otterremo l'output come mostrato di seguito:

L'output è:

 Enter any integer = abc Converted integer = 0 Enter any integer = 12221 Converted integer = 12221 Enter any integer = 1.1225112 Converted integer = 1