C++에서 문자열을 문자열로 변환하는 방법
- std::string 생성자를 사용하여 문자열을 문자열로 변환
- 문자열을 문자열로 변환하기 위해 memmove 기능 사용
- 문자열을 문자열로 변환하려면 std::basic_string::assign 방법 사용
본 기사는 char 배열을 문자열 용기로 변환하는 여러 가지 방법을 소개하고 있다.
std::string 생성자를 사용하여 문자열을 문자열로 변환
이 예에서는 상수 C 문자열을 선언하고 이 문자열을 문자열 구성 매개변수로 사용한다. 이 방법은 문자열 길이를 자동으로 계산한다. 시공자 호출 후 필요에 따라 tmp_string 변수를 조작할 수 있다.
#include <iostream>
#include <string>
using std::cin;
using std::cout;
using std::endl;
using std::string;
int main() {
const char* c_string = "This will be stored in std::string";
string tmp_string(c_string);
cout << tmp_string << endl;
return EXIT_SUCCESS;
}
출력:
This will be stored in std::string
문자열을 문자열로 변환하기 위해 memmove 기능 사용
보다 간단한 방법은 char* 데이터를 초기화된 문자열 용기에 복사하는 것이다. 이런 식으로 memmove 기능으로 전달하려면 char 배열 길이를 미리 알아야 한다. 문자열 컨테이너 초기화는 올바른 동작에 매우 중요하며, 그렇기 때문에 tmp_string 변수를 0x01바이트로 채우는 것이다.
#include <cstring>
#include <iostream>
#include <string>
using std::cin;
using std::cout;
using std::endl;
using std::string;
constexpr int C_STRING_LENGTH = 34;
int main() {
const char* c_string = "This will be stored in std::string";
string tmp_string(C_STRING_LENGTH, 1);
memmove(&tmp_string[0], c_string, C_STRING_LENGTH);
cout << tmp_string << endl;
return EXIT_SUCCESS;
}
다음과 같은 다양한 함수를 사용하여c_string
데이터를tmp_string
에 복사 할 수도 있습니다. memcpy
, memccpy
, mempcpy
, strcpy
또는 strncpy
, 그러나 매뉴얼 페이지를주의 깊게 읽고 그들의 엣지 케이스/버그를 고려하십시오.
문자열을 문자열로 변환하려면 std::basic_string::assign 방법 사용
앞의 예와 같이 이 방법은 char 배열의 길이를 필요로 한다. 우리는 tmp_ptr라는 이름의 char 포인터를 정의하고 첫 번째 문자의 주소를 tmp_string으로 지정한다.
#include <iostream>
#include <string>
using std::cin;
using std::cout;
using std::endl;
using std::string;
constexpr int C_STRING_LENGTH = 34;
int main() {
const char* c_string = "This will be stored in std::string";
string tmp_string;
tmp_string.assign(c_string, C_STRING_LENGTH);
cout << tmp_string << endl;
return EXIT_SUCCESS;
}
Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.
LinkedIn Facebook관련 문장 - C++ Char
- C++에서 Char의 ASCII 값 가져 오기
- 문자열 C++에서 문자의 발생 횟수 계산
- C++에서 ASCII를 Char로 변환하는 방법
- C++에서 Char 배열을 Int로 변환하는 방법
- C++에서 Int를 Char Array로 변환하는 방법
- C++에서 문자열을 문자 배열로 변환하는 방법