여러 개의 문자열을 하나로 합치고 싶을 때 사용하는 함수가 strcat입니다.
이 함수는 기존 문자열의 끝에 다른 문자열을 이어 붙이는 역할을 합니다.
예를 들어 "Hello"와 "World"를 붙여서 "HelloWorld"로 만들고 싶다면 strcat을 사용할 수 있습니다.
● strcat 함수 사용법
#include <string.h>
char str[20] = "Hello";
strcat(str, "World");
결과는 "HelloWorld"입니다. 문자열 "World"가 str의 끝에 이어 붙습니다.
● 문자열 변수끼리 붙이기
char a[30] = "Good ";
char b[] = "Morning";
strcat(a, b);
결과적으로 a는 "Good Morning"이 됩니다.
● 주의할 점
- 이어 붙이는 대상 배열(첫 번째 인수)은 충분히 큰 공간이어야 합니다.
- 문자열 끝의 널 문자('\0')를 기준으로 붙입니다.
- 자기 자신을 붙이거나, 크기 계산 없이 붙이면 오류가 발생할 수 있습니다.
strcat은 문자열을 결합하거나 문장을 완성할 때 자주 사용됩니다.
단, 배열의 크기를 항상 고려하면서 안전하게 사용해야 합니다.
● 실습 문제
문제 1
"Hello"와 "World"를 하나의 배열에 붙여 출력하세요.
문제 2
"안녕"과 "하세요"를 연결하여 "안녕하세요"를 만들고 출력하세요.
문제 3
strcat 사용 시 배열의 크기를 확인하지 않고 붙이면 어떤 문제가 생기나요?
문제 4
문자열 "C "와 "Programming"을 이어 붙이고 출력하는 코드를 작성하세요.
문제 5
strcat 함수는 문자열 끝을 어떻게 판단하나요?
▶ 정답 확인하기
정답 1
char str[20] = "Hello";
strcat(str, "World");
printf("%s\n", str);
정답 2
char greeting[30] = "안녕";
strcat(greeting, "하세요");
printf("%s\n", greeting);
정답 3
충분한 공간 없이 strcat을 사용하면 메모리 침범(오버플로우)이 발생해 프로그램이 비정상 종료될 수 있습니다.
정답 4
char text[50] = "C ";
strcat(text, "Programming");
printf("%s\n", text);
정답 5
strcat 함수는 널 문자('\0')를 기준으로 문자열 끝을 판단하고, 그 위치부터 문자열을 붙입니다.
'프로그래밍언어 > C언어[초급]' 카테고리의 다른 글
[C언어][초급] Chapter50. 포인터란? – 메모리 주소를 다루는 핵심 개념 (0) | 2025.04.19 |
---|---|
[C언어][초급] Chapter49. 문자열 함수 – strcmp 함수로 문자열 비교하기 (0) | 2025.04.19 |
[C언어][초급] Chapter47. 문자열 함수 – strcpy 함수로 문자열 복사하기 (0) | 2025.04.19 |
[C언어][초급] Chapter46. 문자열 함수 – strlen 함수로 문자열 길이 재기 (1) | 2025.04.18 |
[C언어][초급] Chapter45. 문자열 입력과 출력 – 사용자와 소통하는 가장 기본적인 방법 (1) | 2025.04.18 |