Bildirim
int atoi(const char *str);
long atol(const char *str);
long long atoll(const char *str); (C99)
Açıklama
Str parametresi ile gösterilen karakter dizisini int bir değere çevirir.
Fonksiyon, önce boşluk karakteri içermeyen ilk karakteri bulana kadar boşluk atlar. Daha sonra, bu karakterden başlayarak, int değer içeriğine benzeyen karakterleri sayısal değerlere çevirir. Karakter dizisindeki son geçerli karakterden sonraki karakterler dikkate alınmaz.
Parametreler
str: Int bir değere çevrilecek olan karakter dizisidir.
Dönüş değeri
Başarı durumunda, çevrilen int değeri geri döndürür. Geçerli bir çevirme işlemi gerçekleşmediğinde, sıfır değeri geri döndürür. Eğer çevrilen değer int veri türü sınırları dışında kalırsa, belirsiz sonuçlara neden olur.
Örnek
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void fonk(void);
int main(void)
{
char cdizi[40];
strcpy(cdizi, "78521");
printf("Karakter dizisi: %s Int değer: %ld\n", cdizi, atol(cdizi));
strcpy(cdizi, "Bilgisayar");
printf("Karakter dizisi: %s Int değer: %ld", cdizi, atol(cdizi));
return 0;
}
Yukarıdaki örnekte, program aşağıdaki satırları ekrana yazar:
Karakter dizisi: 78521 Int değer: 78521 Karakter dizisi: Bilgisayar Int değer: 0
Yukarıdaki program, önce int değere uygun karakterler içeren bir karakter dizisini sonra normal karakterler içeren bir karakter dizisini atoi() fonksiyonu ile int bir değere çevirerek işlem sonuçlarını ekrana yazar.