C için isdigit() fonksiyonunu kendim yazmak istiyorum

Başlatan sifirartisifiresittirbir, 11 Aralık 2012 - 02:11:17

« önceki - sonraki »

0 Üyeler ve 1 Ziyaretçi konuyu incelemekte.

sifirartisifiresittirbir

merhabalar
benim sorunum isgidit() fonksiyonunu kendim yazmak istiyorum ( acemi bi şekilde yapabiliyorum ama tam anlamı ile yapmak istiyorum)
neyse sadede gelmek gerekirse

#include "stdio.h"
//#include "string.h"
#include "ctype.h"
int strLen(char dizi[]);
char *izalpha(char *cartoon)  // isdigit() i burda kurmaya çalıştım. pointer döndürücek fonksiyonum ???
{
int i,k,c=48,q,m=0;
char *x2;
k=strLen(cartoon);
for(i=0;i<k;i++)
{
q=cartoon[i];
if((q<48)||(q>57))
{*(x2+m)=cartoon[i];
m++;
}
}
printf("%p",x2);
return x2;
}
int main()
{
int i,k,c=48,q;
char *x2,*a;
char dizgi[100];
a=dizgi;
gets(a);
izalpha(a);
printf("\n");
return 0;
}
int strLen(char dizi[])    // strlen in benim yaptığım kısmı.
{
int b=0;
while(dizi[b]!= '\0')
b++;
return b;
}


amacım : pointer döndürmek acemi olduğumdan nette baktım bayağı fakat pek bişey anladım denemez. const * gibi şeylerle karşılaştım denedim olmadı.
yardım eden arkadaş ufaktan const ve const* üzerinden geçerse çok sevinirim.

yardımlar için şimdiden teşekür ederim :)

birde C yi detaylı öğrenebiliceğim kitap (alabiliceğim başka bi konuda *bağlantı verilmiş baktım fakat kitap tükenmiş bununla ilgili mesaj atabilirseniz çok memnun olurum)

çok derdim varmış benim .s

online

izalpha() adlı fonksiyonunda ne yapmaya çalıştığını tam olarak anlamadım, açıklayabilirsen yardımcı olmaya çalışırım. anladığım kadarıyla bir stringin sayı olmayan karakterlerinden yeni bir string yaratmaya çalışıyor fonksiyonun. ama isdigit bunu yapmıyor ki.

plymouth

Merhaba

Orjinal implementasyona baktınız mı ? Hatırladığım kadarıyla isalpha(), isdigit(), islower()... fonksiyonları aslında birer makro.
This life is not the real thing.
It is not even in Beta.
If it was, then OpenBSD would already have a man page for it