54 lines
612 B
C
54 lines
612 B
C
char *
|
|
strchr(const char *s, int c){
|
|
char *r;
|
|
|
|
for(r = s; ; ++r){
|
|
if(*r == c)
|
|
return r;
|
|
if(*r == '\0')
|
|
return NULL;
|
|
}
|
|
}
|
|
|
|
char *
|
|
strrchr(const char *s, int c){
|
|
char *r;
|
|
char *p;
|
|
|
|
for(p = s, r = NULL; ; ++p){
|
|
if(*p == c)
|
|
r = p;
|
|
if(*p == '\0')
|
|
break;
|
|
}
|
|
|
|
return r;
|
|
}
|
|
|
|
char *
|
|
strchrnul(const char *s, int c){
|
|
char *r;
|
|
|
|
for(r = s; ; ++r)
|
|
if(*r == c || r == '\0')
|
|
return r;
|
|
}
|
|
|
|
size_t
|
|
strlen(const char *s){
|
|
size_t r;
|
|
|
|
for(r = 0; s[r] != '\0'; ++r);
|
|
|
|
return r;
|
|
}
|
|
|
|
size_t
|
|
strnlen(const char *s, size_t maxlen){
|
|
size_t r;
|
|
|
|
for(r = 0; s[r] != '\0' && r < maxlen; ++r);
|
|
|
|
return r;
|
|
}
|