(C++) string 문자열을 배열에 복사하기
string은 C++에서 사용하는 문자열 클래스이다.
문자 배열의 값은 string으로 복사할 수도 있고, string을 문자 배열로 복사 할 수도 있다.
문자 배열을 string으로 복사하는 것은 그냥 "="을 사용하면 string으로 복사된다.
하지만 string을 문자 배열에 복사할 때는 조금 복잡하다.
예제)
문자 배열에 string값을 복사하기 위해 string 문자열 길이+1이 문자 배열을 동적으로 할당한다.
길이+1이 되는 이유는 문자 배열 마지막에 NULL이 들어가야 하기 때문이다.
string에서 문자 배열로의 복사는 strcpy()를 사용한다.
하지만 string문자열을 그대로 인자로 사용할 수 없고, string에서 c_str()함수를 호출하여 반환값을 인자로 사용한다.
string.c_str(): string문자열의 첫번째 문자의 주소를 반환한다.
*strcpy()가 빌드싱 안전하지 않다고 에러가 날 수 있다. 그러면 strcpy_s()를 사용한다
문자 배열의 값은 string으로 복사할 수도 있고, string을 문자 배열로 복사 할 수도 있다.
문자 배열을 string으로 복사하는 것은 그냥 "="을 사용하면 string으로 복사된다.
하지만 string을 문자 배열에 복사할 때는 조금 복잡하다.
예제)
문자 배열에 string값을 복사하기 위해 string 문자열 길이+1이 문자 배열을 동적으로 할당한다.
길이+1이 되는 이유는 문자 배열 마지막에 NULL이 들어가야 하기 때문이다.
string에서 문자 배열로의 복사는 strcpy()를 사용한다.
하지만 string문자열을 그대로 인자로 사용할 수 없고, string에서 c_str()함수를 호출하여 반환값을 인자로 사용한다.
string.c_str(): string문자열의 첫번째 문자의 주소를 반환한다.
*strcpy()가 빌드싱 안전하지 않다고 에러가 날 수 있다. 그러면 strcpy_s()를 사용한다
댓글
댓글 쓰기