C++'da atoi() nedir?

C Da Atoi Nedir



Programcılar sıklıkla C++ işlevini kullanır çekme() bir diziyi veya karakter dizisini bir tamsayıya dönüştürmek için. Kullanıcı girişi işlenirken veya bir dosyadan veya veritabanından veri dönüştürülürken, bu işlev yaygın olarak kullanılır. Adı, ASCII'den Tamsayıya, bir ASCII karakter dizisini bir tamsayıya dönüştürme sürecini ifade eder.

atoi() İşlevinin sözdizimi

sözdizimi çekme() C++'daki fonksiyon aşağıdaki gibidir:

int römork ( sabit karakter * str )

Bir tamsayıya dönüştürülmesi gereken dizi, 'str' seçenek. const olarak gönderilir karakter Işaretçi. İşlev, boşluk olmayan ilk karakteri bulana kadar dizeyi inceler. Dizinin numaralarının dönüştürülmesi daha sonra başlar, ancak sayısal olmayan bir karakterle karşılaştığında durur. Başka bir deyişle, dizinin ilk birkaç sayısal karakterini bir tamsayıya dönüştürür.







Programcılar kullanabilir çekme() kullanıcı girişinin işlenmesiyle ilişkili zaman alıcı görevlerin üstesinden gelme yöntemi. Hesaplamalar yapmadan önce bir kullanıcının girişini bir tamsayıya dönüştürmek için kullanılabilir. C standart kitaplığının bir bileşeni olduğu için ek başlık dosyaları dahil edilmemiştir. Aşağıdaki kod, nasıl kullanılacağını gösterir çekme() C++'da işlev:



#include
#include
kullanarak ad alanı std ;

int ana ( ) {
karakter * str = '124' ;
int birde = römork ( str ) ;
cout << birde << son ;
geri dönmek 0 ;
}

Yukarıdaki örnekte, dize “124” karakter dizisinde bulunur “str” . Daha sonra metni kullanarak bir tamsayıya dönüştürdük. çekme() işlev ve sonucu değişkene kaydetti 'birde'. Diziye karşılık gelen tamsayı değeri “124” bu işlev çağrısı tarafından döndürülür.



Çıktı





C++'da atoi() sınırlamaları

bu çekme() yöntemin kullanımı kolay olmasına rağmen çeşitli sınırlamaları vardır. Bu işlevin, gibi sayısal değerler içeren metinleri dönüştürememesi “124” , tamsayılara dönüştürmek sınırlamalarından biridir. Sağlanan dizge aşağıdakiler gibi geçersiz karakterler içeriyorsa işlev 0 değerini döndürür: “12a4” . Ayrıca, sağlanan dizi izin verilen en büyük tamsayıdan daha uzunsa işlev tanımsız bir değer döndürür.



tarafından hata denetimi işlemi yoktur. çekme() işlev. Dize sayısal olmayan karakterler içeriyor olsa bile işlev dizedeki ilk birkaç sayısal karakteri tam sayıya dönüştürür ve geri kalanını dikkate almaz. Bir işleve bir dize sağlarken, yalnızca sayısal karakterler içerdiğinden emin olmak çok önemlidir.

Çözüm

C++ çekme() kullanıcı girişini işlemek ve karakter dizilerini veya dizelerini tam sayılara dönüştürmek için önemli bir işlevdir. Belirli kısıtlamaları olsa bile, programlama araç kutunuzda bu işlevin olması yine de faydalıdır. Düzgün kullanıldığında, kullanıcı girdilerinden veya dış veri kaynaklarından sayısal sayıları işleyen programlar geliştirirken çok fazla zaman ve zorluktan tasarruf etmenize yardımcı olabilir.