Professional Documents
Culture Documents
Programski Jezik C Stringovi PDF
Programski Jezik C Stringovi PDF
\0
koraci:
preskoiti prazan prostor, ako postoji
proitati znak broja, ako postoji
proitati celobrojni deo i pretvoriti ga
trea verzija:
int strlen(char *s){
char *p;
for(p=s; *p!=\0; p++)
;
return p-s;
}
verzija sa pokazivaima:
void strcpy(char *s, char *t){
while((*s=*t)!=\0){
s++;
t++;
}
}
Jo jedan nain:
void strcpy(char *s, char *t){
while((*s++ = *t++) != '\0')
;
}
vrednost izraza *t++ je znak na koji t pokazuje pre nego to se t
uvea za jedan. Postfiksni operator ++ ne menja t pre nego to se
ovaj znak uzme. Na isti nain, taj znak se smeta u staru poziciju
pokazivaa s pre nego sto se s uvea za 1. Ovaj znak je i vrednost
koja se uporeuje sa \0 radi kontrolisanja petlje.
Krajnji rezultat je da se znakovi kopiraju iz t u s sve do zavrnog
znaka \0 ukljuujui i njega.
Poreenje sa \0 je suvino jer je pitanje samo da li je izraz nula.
void strcpy(char *s, char *t){
while( *s++ = *t++ )
;
}
*** Funkcija strcpy() u standardnoj biblioteci (<string.h>) vraa ciljni
string kao svoju povratnu vrednost.
verzija sa pokazivaima
int strcmp( char *s, char *t){
for( ; *s==*t; s++,t++ )
if(*s==\0)
return 0;
return *s - *t;
}