strcat

예제 코드

예제 코드

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <string.h>      // strcat, strncat 함수 사용을 위한 헤더 파일 포함

int main(void)
{
    char str[80] = "straw";     // 문자열 초기화

    strcat(str, "berry");       // str 배열에 문자열 붙이기
    printf("%s\n", str);
    strncat(str, "piece", 3);   // str 배열에 3개의 문자 붙이기
    printf("%s\n", str);

    return 0;
}

실행 결과

strawberry
strawberrypie

단계별 분석

1단계: 초기 상태

char str[80] = "straw";

str 배열:
[s][t][r][a][w][\0][ ][ ]...[ ]
 0  1  2  3  4  5   6  7    79

배열 크기는 80이지만, "straw"는 5글자 + 널문자로 6칸만 사용합니다.

2단계: strcat 실행

strcat(str, "berry");

str 배열:
[s][t][r][a][w][b][e][r][r][y][\0][ ]...[ ]
 0  1  2  3  4  5  6  7  8  9  10

strcat은 str의 널문자(\0) 위치부터 "berry"를 붙입니다.

결과: "strawberry"

3단계: strncat 실행

strncat(str, "piece", 3);

str 배열:
[s][t][r][a][w][b][e][r][r][y][p][i][e][\0]...
 0  1  2  3  4  5  6  7  8  9  10 11 12 13

strncat은 "piece"에서 앞의 3글자("pie")만 붙입니다.

결과: "strawberrypie"

댓글

댓글 본문
graphittie 자세히 보기