strspn() : 문자열에서 특정 문자열로 구성된 문자의 수를 구하는 함수

NAME

       strspn, strcspn - search a string for a set of characters


SYNOPSIS

       #include <string.h>


       size_t strspn(const char *s, const char *accept);


       size_t strcspn(const char *s, const char *reject);


#include 
#include 
int main ()
{
    int i;
    char compare_text[] = "123th";
    char character_set[] = "123456th123th";

    i = strspnn (compare_text, character_set);
    printf ("The length of initial number is [%d].\n", i);
    return 0;
}

결과 값은 5가 나옴.

compare_text에는 비교당할 문자열이 들어간다.

character_set에 있는 문자들 중에서 compare_text에 들어있는

문자와 비교해서 개수를 나타냄

==> 단점은 ... 중복된 문자열에 대해서는 카운트를 하지 않는다. 
                    예상으로는 결과가 10이어야 하는데 실제 컴파일 수행하면 5가 결과로 출력됨.





#include "sys/cdefs.h"
#include 

/*
 * Span the string s2 (skip characters that are in s2).
 */
size_t
strspn(s1, s2)
        const char *s1;
        register const char *s2;
{
    register const char *p = s1, *spanp;
    register char c, sc;

    /*
     *   * Skip any characters in s2, excluding the terminating \0.
     *       */
cont:
    c = *p++;
    for (spanp = s2; (sc = *spanp++) != 0;)
        if (sc == c)
            goto cont;
    return (p - 1 - s1);
}


반응형

'Language > C' 카테고리의 다른 글

바이너리 파일전송 C언어 예제 -서버-  (158) 2012.10.18
itoa 함수 예제  (468) 2012.10.17
strcmp 함수 예제  (3161) 2012.08.17
strchr 함수 예제  (442) 2012.08.14
strdup 함수 예제  (476) 2012.08.14

+ Recent posts