strcat, strncat 문자열 추가 함수


C에서 문자열을 추가하는 함수가 있다.

바로 strcat 와 ctrncat이다.

하나의 문자열 뒤에 또 다른 문자열을 추가하는 함수이다.

문자열 길이 설정 여부에 따라 두 함수가 나누어 진다. 


strcat 일반 문자열 추가


strcat 사용법은 아래와 같다.

#include<string.h>

char * strcat( char * dest, const char * src )

ex) 

char destStr[128] = "test string ";

char * srcStr = "hello world";

strcat( destStr, srcStr );


첫번째 인자 문자열인 destStr 뒤에 두번째 문자열인 "hello world"가 추가 된다.

예제를 보며 결과를 확인해 보자.


[예제]

#include <stdio.h>

#include <string.h>

#include <string.h> //<--- strcat 함수 사용을 위해 추가 한다. 


int main(int argc, char *argv[]) 

{

char destStr[128] = "test string ";

const char * srcStr = "hello world";

strcat( destStr, srcStr ); //문자열을 합친다. 

printf( " destStr[%s] \n",destStr);

return 0;

}



 실행 결과

 destStr[test string hello world]

 계속하려면 아무 키나 누르십시오...




strncat 지정 된 길이만큼 문자열 추가


strncpy 사용법은 아래와 같다.

#include<string.h>

char * strncat( char * dest, const char * src, size_t n )

ex) 

char destStr[128] = "test string";

char * srcStr = "hello world";

strncpy( destStr, srcStr, 5 );


두번째 인자 문자열인 "hello world" 에서 hello만 추가 하고 싶다.

그럼 strncat을 사용해 5문자열만 추가하게 할 수 있다.

다음 예제를 살펴 보자

[예제]

#include <stdio.h>

#include <string.h>

#include <string.h> //<--- strncpy 함수 사용을 위해 추가 한다. 


int main(int argc, char *argv[]) 

{

char destStr[128] = "test string"

const char * srcStr = "hello world";

strncat( destStr, srcStr, 5 ); //hello만 추가 하기 위해 5를 넣는다. hello는 5byte 이기 때문에 5를 넣는다.

printf( " destStr[%s] \n",destStr);

return 0;

}



 실행 결과

 destStr[test string hello]

 계속하려면 아무 키나 누르십시오...




반응형

+ Recent posts