C++ itoa() Fonksiyonu(Sayıyı Yazıya Cevirme)

lavara123

Katılımcı Üye
29 Eki 2013
368
0
NULL
C++ itoa() Fonksiyonu

itoa fonksiyonu stdlib.h kütüphanesi içinde tanımlı standart bir fonksiyondur.

peki ne işe yara bu fonksiyon ?
itoa() fonksiyonu:

1-) bir sayıyı string içine atamaya yani sayıyı yazıya çevirmeye,
2-) bir sayıyı 16'lık sayı sistemine yani hexadecimal sayıya çevirmeye,
3-) bir sayıyı 2'lik sayı sistemine yani binary sayıya cevirmeye,
yarar...

kullanımı:
itoa(Cevrilecek_Sayı, Yazılacak_String, Sayı_Sistemi);

Sayı_Sistemi olan yere:
> 10 yazarsak sayıyı normal kullandığımız 10'da lık sayıya cevirir.
> 16 yazarsak sayıyı 16'lık hexadecimal sayıya cevirir.
> 2 yazarsak sayıy 2'lik binary sayıya cevirir.

örnek bi kod ile basit toplama işlemi yaptırıp sonucu MessageBox'ta Yazdıralım.
NOT: MessageBox mesajı string(yazı) olarak ister biz direk int(tam sayı) bir değişken göstermek istesek derlemede hata verir bu yüzden itoa ile sayıyı yazıya çevirip öyle MessageBox'ta sonucu göstereceğiz.

Örnek Kod:
Kod:
//cout, cin vs. kullanmak için iostream
#include <iostream>

//itoa fonskiyonunu kullanmak için stdlib.h
#include <stdlib.h>

//MessageBox kullanmak için Windows.h
#include <Windows.h>

using namespace std;

int main()
{
	int sayi1, sayi2, sonuc;
	char YaziSonuc[50];
	
	cout << "1.Sayiyi Giriniz..: ";
	cin >> sayi1;

	cout << "2.Sayiyi Giriniz..: ";
	cin >> sayi2;

	sonuc = sayi1 + sayi2;

	itoa(sonuc, YaziSonuc, 10);

	MessageBox(NULL, YaziSonuc, "Sonuç:", MB_OK);

	system("PAUSE");
	return 0;
}

Yukarda bizi ilgilendiren yer itoa kısmı peki burda naptı bu kısım:
- sonuc(sayı değişkeni) değişkenini alıp YaziSonuc(string değişkeni) değişkenine decimal olarak aktardı.

Birde hexdecimal, binar işlerine bakalım:

> Kullanıcıdan bir sayı alsın ve bu sayının hexdecimal ve binary karşılığını ekrana bassın:
Kodlar:
Kod:
//cout, cin vs. kullanmak için iostream
#include <iostream>

//itoa fonskiyonunu kullanmak için stdlib.h
#include <stdlib.h>

using namespace std;

int main()
{
	int sayi;
	char YaziHex[50];
	char YaziBinary[50];
	
	cout << "Sayinizi Giriniz..: ";
	cin >> sayi;

	//sayi değişkenini al 16'lık sayı sistemine(hexadecima) cevir sonucu YaziHex değişkenine yaz.
	itoa(sayi, YaziHex, 16);
	
	//sayi değişkenini al 2'lık sayı sistemine(binary) cevir sonucu YaziBinary değişkenine yaz.
	itoa(sayi, YaziBinary, 2);

	cout << "Sayinizin Hexadecimal karsiligi..: " << YaziHex << endl;
	cout << "Sayinizin Binary karsiligi..: " << YaziBinary << endl;

	system("PAUSE");
	return 0;
}

yukarda sayi degiskenine 1250 girdiğmizi farz edelim ekrana:

Sayinizin Hexadecimal karsiligi..: 4e2
Sayinizin Binary karsiligi..: 10011100010

Yararlı Olması Dileğiyle :)

Birdahiki sefere atoi(); anlatacağım.

Yaralı Olduysa Teşekkür Etmeyi Unutma :)
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.