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 |