본문 바로가기

프로그램언어/C언어

c언어 문자열복사함수와 문자열 연결함수

c언어 strcpy(), strncpy() 함수는 문자열를 복사하는 함수로 string.h 라이브러리에서 제공하고 있습니다. strcpy(), strncpy() 함수를 사용하기 위해서는 헤더파일에 #inlcude <string.h>를 추가해야 합니다.

 

strcpy() 함수 : 문자열을 복사하는 함수로 str2문자열을 str1문자열에 복사해 주는 함수입니다.

함수 원형

    char *strcpy(char *str1 const char *str2);

str1 : 문자열을 복사할 버퍼 포인터
str2 : 복사할 문자열 포인터
반환값 : str2문자열을 str1문자열에 복사하고 str1의 포인터를 반환합니다.

 

 

strncpy() 함수 : 문자열을 지정한 길이만큼 복사 함수로 str2의 n길이만큼 str1에 복사해는 함수입니다.

함수 원형

    char *strncpy(char *strDestination, const char *strSource, size_t count);

strDestination : 문자열을 복사할 버퍼 포인터

strSource : 복사할 문자열 포인터
count : 복사될 문자의 수
반환값 : str2문자열의 n길이만큼 str1문자열에 복사하고 str1의 포인터를 반환합니다.

소스 코드 실행 결과

#include <stdio.h>
#include <string.h>

int main()
{
    char str1[10]="String";
    char str2[10];
    char str3[20];

 

    strcpy(str2, str1);
    strcpy(str3, "String Copy");
    printf("%s\n", str2);
    printf("%s\n", str3);

 

    char strn1[10]="Language";
    char strn2[20];
    char strn3[20]={0};

 

    strncpy(strn2, strn1, sizeof(strn2));
    strncpy(strn3, strn2, 5);

    printf("%s\n", strn1);
    printf("%s\n", strn2);
    printf("%s\n", strn3);

 

    return 0;
}

String
String Copy
Language
Language
Langu

 

 

c언어 strcat(), strncat() 함수는 두개의 문자열을 연결해 주는 함수로 string.h 라이브러리에서 제공하고 있습니다. strcat(), strncat() 함수를 사용하기 위해서는 헤더파일에 #inlcude <string.h>를 추가해야 합니다.

 

strcat() 함수 : 두 개의 문자열을 연결하는 함수로 str1에 str2를 연결해 주는 함수입니다.

함수 원형

    char *strcat(char *str1, const char *str2);

str1 : 문자열을 연결하여 저장할 버퍼 포인터
str2 : 연결할 문자열 포인터
반환값 :  str1에 str2를 연결해 주고 str1의 포인터를 반환해 주는 함수입니다.

 

 

strncat() 함수 : 두 개의 문자열을 지정된 길이만큼 연결 함수로 str2에서 n길이만큼 str1에 연결해 주는 함수 입니다.

함수 원형

    char *strncat(char *str1, const char *str2, size_t count);

str1 : 문자열을 연결하여 저장할 버퍼 포인터
str2 : 연결할 문자열 포인터
count : 추가할 문자의 수
반환값 : str2에서 n길이만큼 str1에 연결해 주고 str1의 포인터를 반환해 주는 함수입니다.

소스 코드 실행 결과

#include <stdio.h>
#include <string.h>

int main()
{
    char str1[30] = "C++ Language";
    char str2[30] = "API Language";
    char str3[30] = { 0 };

    strcat(str1, str2);
    printf("%s\n", str1);

    strcpy(str1, "C++ Language");

    strncat(str1, str2, 3);
    printf("%s\n", str1);

    return 0;
}

C++ LanguageAPI Language
C++ LanguageAPI