[C++] 문자열 길이 strlen(), 문자열 복사 strcpy()
[C++] 문자열 길이 strlen(), 문자열 복사 strcpy()
strlen(A) : 문자열 배열 A의 길이를 구하는 함수
strcpy(A, B) : 문자열 B를 A에 복사한다.
#include <iostream> #include <cstring> using namespace std; int main(){ char src[] = "Hyeon"; int len = strlen(src); char* dest = new char[len + 1]; strcpy(dest, src); cout << "src= " << src << endl; cout << "dest = " << dest << endl; delete[] dest; dest = NULL; return 0; } |
strlen() 과 sizeof() 함수는 다르다.
strlen()은 배열의 길이를 반환하는 함수이며, sizeof()는 메모리 바이트를 세어주는 함수이다.
물론, char는 1바이트이기에, char 배열에 strlen()과 sizeof()는 같은 값을 반환하지만, 같은 것은 아니다.
char가 아닌 int 형일 경우 다른 결과가 나온다.
strcpy()를 사용할 경우 빌드시 안전하지 않다고 에러가 나올 수 있다.
그러면 strcpy_s(A, strlen(A)+1, B) 를 사용하면 된다.
출처: https://hyeonstorage.tistory.com/303?category=601868 [개발이 하고 싶어요]
'기타 > C++' 카테고리의 다른 글
[C++] 비트 연산과 쉬프트 (>>, <<) (0) | 2019.07.27 |
---|---|
[C++] 문자열 입력 getline()과 버퍼오버플로우 (0) | 2019.07.27 |
[C++] string 문자열을 배열에 복사하기 (0) | 2019.07.27 |
[C++] 문자열 합치기 strcat(), 문자열 비교 strcmp() (0) | 2019.07.27 |
[C++] 문자열 뒤집기 예제 (0) | 2019.07.27 |
[C++] 동적 메모리 할당 예제 new delete (0) | 2019.07.27 |
[C++] 10진수를 2진수로 변환 예제 (0) | 2019.07.27 |
[C++] 두 점 사이의 거리 구하기 pow(), sqrt() (0) | 2019.07.27 |