ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [C,C++] 문자열 함수(strcpy, strncpy, strlen, strcat, strncat, strcmp, strncmp)
    ETC/[C, C++] 2022. 4. 22. 22:03
    반응형

    strcpy()

    #include <string.h>
    
    char str1[20]="watermelon";
    char str2[20]="orange";
    char *sp1="melon";
    char *sp2=str2;
    
    printf("%s\n",str1); //strawberry
    
    strcpy(str1,"orange");//첫번째: 저장할 위치, 두번째: 복사할 문자열의 위치
    strcpy(str1,str2);//orange
    strcpy(str1,sp1);//melon
    strcpy(str1,sp2);//orange
    strcpy(sp2,sp1);//melon
    
    printf("%s\n", strcpy(str1, "orange")); //orange

    strcpy() 두 번째 인자에 문자열을 넣어줘도 어차피 첫 번째 문자의 주소로 바뀌니까 문자열을 줘도 된다.

    편하게 생각하면 들어갈 값이다.. 라고 생각해도 무방하다.

     

    strcpy() 원형이 char * strcpy(char *dp, const char * sp) 이런 식으로 가기 때문에

    복사가 끝난 배열의 주소값을 반환한다.

    strncpy()

    바꿀 때 마지막에 NULL문자를 붙이지 않아서 문자열의 일부만 수정 가능하다.

    char str[20]="apple tree";
    strcpy(str,"mango");//mango
    strncpy(str,"strawberry-pie",5)//straw tree

    strncpy(저장할 위치, 저장할 문자열의 위치, 저장할 문자 열중에서 이 정도 크기만큼만 가져오겠다.)

     

    strcat() strncat()

    바꿀 배열의 NULL문자를 찾아서 NULL문자에서 붙어 문자열을 붙인다.

    붙여 넣어질 충분한 공간이 확보되어야 한다.

    strncat은 붙여 넣을 문자열 앞에서 숫자만큼만 붙인다.

    char str[20]="strawberry";
    strcat(str,"pie");//strawberrypie
    strncat(str,"piece",3)//strawberrypie

    strlen()

    배열에서 문자열의 길이(NULL문자 전까지)

    char str[20];
    int len;
    scanf("%s",str);//apple
    
    len=strlen(str);
    printf("%d\n",sizeof(str));//20
    printf("%d\n",len);//5

     

    strcmp() strncmp()

    첫 번째 문자의 아스키코드 값이 연산됨. 첫 번째가 같으면 두 번째, 세 번째,...

    아스키코드 값이 크다는 것은 사전에 더 뒤에 나온다는 뜻이다.(소문자, 대문자는 예외, 소문자가 대문자보다 아스키코드값이 작음 ex. apple> Banana )

    strncmp는 앞에서 숫자만큼만 비교하는 함수이다.

    char str1[20]="boy";
    char str2[20]="beer";
    
    strcmp(str1,str2);//1
    strncmp(str1,str2,1);//0

    str1> str2  1

    str1 <str2  -1

    str1==str2  0

     

    stcpy 함수는 char에 문자열 복사
    strncpy 함수는 문자열 일부 복사
    strlen 함수는 char 배열 문자열 길이 출력
    strcat 함수는 문자열 뒤에 붙이기
    strncat 함수는 문자열 일부만 붙이기
    strcmp 함수는 문자열 비교
    strncmp 함수는 문자열 일부 비교
    반응형
Designed by Tistory.