ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • string.h에 대한 연구
    Programming/C,C++ 2012. 10. 29. 09:13
    728x90

    2012.10.29

    오늘은 strlen과 strcpy에 대해서 쓸까 합니다.


    1. strlen

    size_t strlen(const char *s)

    입력 파라미터가 const char *s이며, 결과값은 문자열의 길이입니다. 즉, '\0' 만나기 전까지의 길이를 계산합니다. 

    ex)

    cha pSource[] = "ABC";

    size = strlen(pSource);


    결과는 3입니다. 

    0 1 2 3  

    A B C \0


    '\0'전인 C의 위치까지의 길이를 계산해서 넘겨줍니다. 

    다만, 이 함수를 쓸때는 먼저 문자열의 NULL여부를 검사해주세요. 

    NULL이면 강제 종료된답니다.

    2. strcpy


    strcpy는 char문자열을 복사하는 함수입니다.

    strcpy(dest, source)

    역시 말보다는 예제를 보면서 설명이 쉽겠네요.

    ex)

    cha pSource[] = "ABC";

    char *pDeststr = NULL;

    if(pSource != NULL)
    {
       int size = strlen(pSource);
       pDeststr = (char*) malloc (sizeof(char)* (size+1));
       if(pDeststr != NULL)
       { 
           strcpy(pDeststr, pSource);
       }
    }
    여기서 중요한건 malloc를 했을 때, size+1을 해주는 겁니다. 
    이유는 맨 마지막에 '\0' 를 포함해서 계산해야되기 때문입니다.

    'Programming > C,C++' 카테고리의 다른 글

    LinkedQueue  (0) 2012.11.18
    LinkedList로 구현한 Stack  (0) 2012.10.28
    포인터(Pointer) 기본 정리  (0) 2012.10.28
    배열로 구현한 Stack  (0) 2012.10.27
    DoubleLinkedList(이중연결리스트)  (0) 2012.10.21
Designed by Tistory.