Δημοσιεύτηκε: 28 Ιούλ 2011, 19:11
από migf1
Κώδικας: Επιλογή όλων
#include <ctype.h>

Κώδικας: Επιλογή όλων

char *getdigits(char *digs, const char *src)
{
if ( !digs || !src )
return NULL;

register int i, j=0;
for (i=0; src[i] != '\0'; i++)
if ( isdigit( src[i] ) )
digs[j++] = src[i];
return digs;
}

ή αν αισθάνεσαι πιο άνετα με δείκτες...
Κώδικας: Επιλογή όλων

char *getdigits(char *digs, const char *src)
{
if ( !digs || !src )
return NULL;

register char *cp;
for (cp=digs; *src; src++)
if ( isdigit(*src) )
*cp++ = *src;
return digs;
}

Σε κάθε περίπτωση θα πρέπει το string digs να έχει οριστεί σε τουλάχιστον το ίδιο μέγιστο μήκος με το μέγιστο μήκος του src.