strncpy() 란?

  • string n개를 copy 하는 함수
  • strcpy() 보다 안전한 함수

1) 함수 원형

char* strncpy(char* destination, const* source, size_t count);
  • 최대 count만큼 soruce를 destination에 복사한다.
  • 널 문자를 먼저 만나면 그전에 끝냄

1-1) source가 count보다 짧으면 

  • 남은걸 다 '\0'으로 채워줌

1-2) source가 count보다 길다면

  • count만큼 복사함
  • 널 문자를 못붙여서 안 붙여줌 
    • 이럴 경우 맨 마지막에 '\0'을 넣어줘야 함.

2) 예제

2-1) destination배열의 개수가 3개이고, source배열의 개수가 5개인데, 5개를 복사하면 어떻게 될까?

  • 결과적으로는 2개를 복사가 된다.
  • 3개가 복사 되지만 문자열의 끝을 알려주기 위해 별도로 destination 맨 마지막에 '\0'을 넣어줘야하기 때문

 

'C' 카테고리의 다른 글

[C언어] 음수의 변환 과정  (0) 2022.03.06
[C언어] 문자열 초기화 방법  (0) 2022.02.25
[C언어] 얕은 복사 vs 깊은 복사  (0) 2022.02.24
[C언어] #include 2가지 방식  (0) 2022.02.21
[C언어] size_t vs unsigned int  (0) 2022.02.21

+ Recent posts