문자열 대입함수이다.


strcpy함수는 문자열을 대입하는 함수이다.


  • <string.h>안에 내장되어 있다.
  • #define _CRT_SECURE_NO_WARINGS 를 사용해야한다.
  • 함수 형태
  • strcpy(str1, str2) // 첫번재 인수에는 문자열 받을 곳, 두번째 인수에는 대입할 문자열

예시

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

int main(void) {


    char str1[80] = "strawberry";
    char str2[80] = "apple";
    char* ps1 = "banana";
    char* ps2 = str2;

    printf("최초 문자열: %s\n", str1);
    strcpy(str1, str2);
    printf("바뀐 문자열: %s\n", str1);


    strcpy(str1, ps1);
    printf("바뀐 문자열: %s\n", str1);

    strcpy(str1, ps2);
    printf("바뀐 문자열: %s\n", str1);

    strcpy(str1, "banana");
    printf("바뀐 문자열: %s\n", str1);

    return 0;
}

실행결과
최초 문자열: strawberry
바뀐 문자열: apple
바뀐 문자열: banana
바뀐 문자열: apple
바뀐 문자열: banana

strcpy()를 사용하기 위해서 문자열 배열 두 개를 선언 및 초기화한다. 문자열 포인터변수도 2개 선언 및 초기화한다. strcpy()햠수를 이해하기 쉽도록 초기의 문자열을 출력하고 strcpy(str1, str2)를 사용하고 다시 출력해서 결괏값을 확인한다. 포인터 변수 ps1이 가리키는 것은 문자열 상수이다. 문자열 상수는 첫번째 문자의 주소로 바뀔 수 있으므로 포인터 변수에 대입할 수 있다. 문자열 상수는 문자열이므로 strcpy()의 두번재 인수로 사용할 수 있다.


strncpy함수는 문자의 개수를 지정한 만큼 대입하는 함수이다.


  • <string.h>안에 내장되어 있다.
  • #define _CRT_SECURE_NO_WARNINGS 를 사용해야한다.
  • 함수 형태
  • strncpy(str1, str2, 개수) //첫번째 인수에는 문자열 받을 곳, 두번재 인수에는 대입할 문자열, 세번재 인수에는 지정할 문자 갯수

예시

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

int main(void) {

    char str[20] = "mango tree";

    strncpy(str, "apple-pie", 5);

    printf("%s\n", str);



    return 0;
}

문자열 배열을 선언 및 초기화 한다. strncpy()함수에서 첫번째 인수에는 문자열을 받을 곳을 쓰고, 두번재 인수에는 넣을 문자열을, 세번재 인수에는 지정할 문자의 갯수를 쓴다. 항상 배열 안 문자열의 끝에는 '\0'문자가 붙는다.


실행결과
apple tree

'C > 문자열' 카테고리의 다른 글

[C] 문자열 (puts함수, fputs함수)  (1) 2024.01.15

문자열만을 출력하고 싶을 때 사용하는 함수이다.

 

puts함수는 문자열만을 출력하는 함수이다.

 

  • <stdio.h>안에 내장되어 있다.
  • 함수 원형
      int puts(const char *str) //문자열을 출력하고 줄 바꾼다.
  • 문자열의 시작 위치부터 널 문자가 나올 때까지 모든 문자를 출력한다.
  • 정상 출력됬을 때 0을 반환하고 출력에 실패하면 -1(EOF)를 반환한다.

 

fputs함수는 문자열만을 출력하는 함수이다.

 

  • <stdio.h>안에 내장되어 있다.
  • 함수 원형
       int fputs(const char *str, FILE *stream) //문자열을 출력하고 줄 바꾸지 않는다.
  • 문자열의 시작 위치부터 널 문자가 나올 때까지 모든 문자를 출력한다.
  • 정상 출력됬을 때 0을 반환하고 출력에 실패하면 -1(EOF)를 반환한다.

 

예시

 #include <stdio.h>
     int main(void){

    char str[80] = "apple juice";
    char *ps = "banana";

    puts(str);
    fputs(ps, stdout);
    puts("milk");

    return 0;
    }

 

실행결과
apple juice
bananamilk

 

 

문자열 배열을 선언하고 문자열 상수로 초기화를 한다. 문자열 포인터 변수를 선언하고 문자열 상수를 가리키도록 한다. 이때, 문자열은 주소이기 때문에 문자열 포인터에 대입하여 사용할 수 있다. puts함수로 문자열 배열str을 출력하고 줄 바꾼다. fputs함수로 ps를 표준출력으로 출력하고 줄 바꿈 없이 바로 puts함수로 문자열 상수를 출력한다.

 

'C > 문자열' 카테고리의 다른 글

[C] 문자열 (strcpy함수, strncpy함수)  (0) 2024.01.16

+ Recent posts