문자열 덧붙이기
string헤더 파일에 존재하는 strcat, strncat 라이브러리 함수를 이용하여 문자열 뒤에 다른 문자열을 복사하여 덧 붙여보자.
#include<string.h> - 해석하면 " string헤더파일을 포함한다"라고할 수 있다.
strcat의 사용법은 아래와 같다.
ex) strcat(문자열1,문자열2)
char str1[30] = "First~";
char str2[30] = "Second";
strcat(str1,str2);
여기서 알아야 할 점은 문자열 덧붙임이 시작되는 위치는 NULL문자 뒤에 오는 것이 아니라 NULL문자 위치에 오게 된다.
따라서 위의 코드는 "First~\0Second\0" 가 아니라 "First~Second\0" 가 되는 것이다.
strncat은 strcat과 상당히 비슷하지만 strncat은 덧붙일 문자열의 길이를 제한 할 수 있다.
ex) strncat(문자열1, 문자열2, 크기)
아래의 코드를 작성 하여 보자
#include<stdio.h>
#include<string.h>
int main(void) {
char str1[20] = "First~";
char str2[20] = "Second";
char str3[20] = "Simple Num: ";
char str4[20] = "1234567890";
/**** case 1 ****/
strcat(str1, str2);
puts(str1);
/**** case 2 ****/
strncat(str3, str4, 7);
puts(str3);
return 0;
}
여기서 만약 str1과 str3 배열의 크기가 덧 붙였을때 보다 크기가 작다면 실행이 되지 않거나 경고또는 실행이 되더라도 정상적으로 프로그램이 종료되지 않는다.
'C' 카테고리의 다른 글
C언어 문자열을 정수와 실수로 변환하자 (0) | 2014.08.10 |
---|---|
C언어 문자열 비교하기(strcmp, strncmp) (0) | 2014.08.09 |
C언어 문자열 복사하기(strcpy, strncpy) (2) | 2014.08.04 |
C언어 스트림(stream)의 활용 - 문자열 단위 입출력 함수 (2) | 2014.07.27 |
C언어 스트림(stream)의 활용 - 문자 단위 입출력 함수 (0) | 2014.07.26 |