반응형

안녕하세요.

오늘은 C언어에서 문자열을 붙이는 함수인 strcat와 strncat 함수에 대해 알아보도록 하겠습니다.

strcat

함수 원형
char* strcat(char *_Destination, const char *_Source);

헤더 파일
string.h

리턴값
_Destination의 포인터값이 리턴됩니다.

설명
특정 문자열을 붙입니다.
첫번째 매개변수인 _Destination문자열에 두번째 매개변수인 _Source문자열을 넣습니다.
두 문자열을 합친 크기가 _Destination의 크기보다 작아야합니다.

예제

1
2
3
4
5
6
7
8
9
10
11
12
#define _CRT_SECURE_NO_WARNINGS        // vs2017 이후 버전은 strcat함수 실행시 보안 에러발생으로 인해 추가합니다.
#include <stdio.h>
#include <string.h>
void main()
{
    char arrString1[20= "Hello";
    char arrString2[20= "World!!";
 
    strcat(arrString1, arrString2);
 
    printf("%s\n", arrString1);
}
 
cs

arrString1의 \0(NULL)값 위치에 arrString2가 붙게됩니다.

 

strncat

함수 원형
int strncmp( char *_Destination, const char *_Source, size_t count);

헤더 파일
string.h

리턴값
_Destination의 포인터값이 리턴됩니다.

설명
특정 문자열을 특정 크기만큼 붙입니다.
첫번째 매개변수인 _Destination문자열에 두번째 매개변수인 _Source문자열 count만큼 붙입니다.
count는 _Destination의 크기보다 같거나 작아야합니다.

예제

1
2
3
4
5
6
7
8
9
10
11
12
#define _CRT_SECURE_NO_WARNINGS        // vs2017 이후 버전은 strncat함수 실행시 보안 에러발생으로 인해 추가합니다.
#include <stdio.h>
#include <string.h>
 
void main()
{
    char arrString1[20= "Hello";
    char arrString2[20= "World!!";
 
    strncat(arrString1, arrString2, 5);
    printf("%s\n", arrString1);
}
 
cs

arrString1의 \0(NULL)값 위치에 arrString2의 문자를 5개(world)까지 붙여 넣습니다.

그리고 끝에는 \0(NULL)값이 붙습니다.

 

반응형

+ Recent posts