Diziler için birkaç fonksiyon(C/C++)

Her platformda hazır fonksiyonlar olmadığından bu küçük işler yine bize kalıyor. Lazım oldukça yazdığım ufak tefek fonksiyonlar bunlar…

int dizi_uzunlugu_hesapla(char *dizi)//dizinin kaç karaktere sahip olduğunu dönderir
{
int i=0;

while (*dizi != '\0')
{
dizi++;
i++;
}
return(i); //kaç karakter olduğunu dönderiyoruz
}

 

void dizi_temizle(char *dizi)
{
////dizi uzunluğu hesaplama
while (*dizi != '\0'){ //*soru değişkeninin uzunluğunu hesaplayalım
*dizi=0; //tek tek siliyoruz
dizi++;
}
}

 

void enter_temizle(char *dizi)//dizinin en sonundaki enter karakterini siler
{
while (*dizi != 13){ //13 karakterine gelene kadar gidiyoruz
dizi++;
}
*dizi=0; //13 karakteri yerine 0 değerini veriyoruz
}

 

Kullanımları:

Şöyle bir dizimiz var diyelim :

unsigned char adi[]="Gokhan Beken\r";
a=dizi_uzunlugu_hesapla(adi);

yazarsak a değişkeninin değeri : 13 olur

enter_temizle(adi);

fonksiyonunu çağırırsak adi değişkeninin son durumu “Gokhan Beken” olur

a=dizi_uzunlugu_hesapla(adi);

yazarsak a değişkeninin yeni  değeri : 12 olur çünkü en sondaki enter karakterini sildik

dizi_temizle(adi);

Yazarsak adi dizisinin içinde ne var ne yok silinir.

a=dizi_uzunlugu_hesapla(adi);

yazarsak a değişkeninin yeni  değeri : 0 olur çünkü hepsini sildik.

Not: Aklıma geldikçe yenilerini ekleyeceğim, mesela dizi kaydırmaca yazmıştım bir ara pek gerekli birşey değil ama  isteyen olursa eklerim.

Bir Cevap Yazın