Develog
strcpy() 와 strncpy() 본문

1. strcpy( )
strcpy( )는 문자열을 복사하는 함수 중 하나로, 널 문자(\0)을 만날 때까지 src에서 dest로 복사하는 함수입니다.
문자열 전체를 복사하지만, 길이 제한이 없어서 버퍼 오버플로우가 발생할 위험이 있습니다.
char buffer[100];
std::strcpy(buffer, "Hello, world!");
2. strncpy( )
strcpy( ) 함수와 달리 strncpy( ) 함수는 지정된 길이만큼만 복사하는 것이 가능합니다.
이 때문에 strcpy( )보다 더 안전하게 사용할 수 있지만, n바이트에 도달할 때까지 복사를 멈추지 않기 때문에 널 문자(\0)를 수동으로 넣어주어야 합니다.
char buffer[100];
std:strncpy(buffer, "Hello, world!", 100);
buffer[99] = '\0';
3. std::string
C++에는 string 라이브러리가 별도로 존재합니다.
앞서 살펴본 두 메서드를 비롯해 string 라이브러리 없이 문자열을 다루는 것은 상당히 귀찮고 복잡하기 때문에 가급적 string을 사용하는 것을 권장한다고 합니다.
수고하셨습니다!
'Technology > C++' 카테고리의 다른 글
| C++의 포인터 (0) | 2025.08.03 |
|---|---|
| static_assert와 non-type template (0) | 2025.07.30 |
| C++의 함수 프로토타입 (0) | 2024.06.26 |
| 포인터와 배열, 포인터 산술 (0) | 2024.05.18 |
| 상속의 타입 (0) | 2024.02.13 |
Comments