문자 또는 문자열 요소를 갖고 있는 vector를 하나의 string으로 변환하는 방법을 소개합니다.
1. vector<string>를 string으로 변환
아래와 같이 for문으로 vector의 모든 string을 순회하면서 문자열로 변환할 수 있습니다.
코드를 보시면 stringstream에 문자열을 추가하여 하나의 string으로 연결하고 있습니다. 또한 중간에 구분자(delimiter)를 추가할 수 있습니다.
#include <iostream>
#include <vector>
#include <sstream>
#include <iterator>
int main() {
std::vector<std::string> vec { "Hello", "World", "Java" };
std::stringstream ss;
for (auto it = vec.begin(); it != vec.end(); it++) {
if (it != vec.begin()) {
ss << ", ";
}
ss << *it;
}
std::string str = ss.str();
std::cout << str << std::endl;
return 0;
}
Output:
Hello, World, Java
2. vector<char>를 string으로 변환
vector<char>
도 동일한 방법으로 문자열로 변환할 수 있습니다.
아래와 같이 for문으로 모든 요소를 순회하면서 stringstream에 추가하여 하나의 문자열로 연결할 수 있습니다. 문자 사이에 구분자(delimiter)를 추가하고 싶다면, 중간에 구분자를 추가할 수 있습니다.
#include <iostream>
#include <vector>
#include <sstream>
#include <iterator>
int main() {
std::vector<char> vec { 'H', 'E', 'L', 'L', 'O' };
std::stringstream ss;
for (auto it = vec.begin(); it != vec.end(); it++) {
if (it != vec.begin()) {
ss << ", ";
}
ss << *it;
}
std::string str = ss.str();
std::cout << str << std::endl;
return 0;
}
Output:
H, E, L, L, O
3. string 생성자로 vector<char>를 string으로 변환
vector<char>
는 아래와 같이 string의 생성자에 vector의 시작과 끝의 Iterator를 전달하면, 범위에 있는 요소들을 연결하여 string을 생성합니다.
#include <iostream>
#include <vector>
int main() {
std::vector<char> vec { 'H', 'E', 'L', 'L', 'O' };
std::string str(vec.begin(), vec.end());
std::cout << str << std::endl;
return 0;
}
Output:
HELLO
Loading script...
Related Posts
- [C++] 배열을 리스트(list)로 변환
- [C++] 배열에서 특정 요소 제거
- [C++] vector 모든 요소의 합계 계산
- [C++] 두개의 배열이 같은지 비교
- [C++] 배열에 특정 요소가 있는지 확인
- [C++] 2차 배열 복사 방법
- [C++] 배열 복사하는 방법 (copy, memcpy)
- [C++] 함수의 인자로 배열 전달
- [C++] vector 모든 값의 평균 계산
- [C++] vector를 문자열로 변환
- [C++] 배열에서 요소의 Index 찾기
- [C++] 배열의 중복 요소 찾기
- [C++] 배열의 중복 요소 제거
- [C++] 배열 순서 거꾸로 뒤집기
- [C++] char 배열을 string으로 변환
- [C++] string을 char 배열로 변환
- [C++] 문자열 거꾸로 뒤집기
- [C++] vector의 중복 요소 제거
- [C++] 두 배열을 하나의 배열로 합치기
- [C++] 배열 길이, 크기 얻는 방법
- [C++] 배열에서 최대값, 최소값 찾기 (3가지 방법)
- [C++] int를 string으로 변환, 3가지 방법
- [C++] 문자열 리스트(Vector, 배열) 정렬
- [C++] string의 문자 정렬
- [C++] string을 int로 변환, 3가지 방법
- [C++] string 대문자/소문자 변환 방법
- [C++] string.compare() 문자열 비교
- [C++] int를 char로 변환, 3가지 방법
- [C++] 문자열 자르기, 3가지 방법
- [C++] isdigit(), 어떤 문자가 숫자인지 확인
- [C++] strlen(), 문자열 길이 계산
- [C++] strcmp(), strncmp() 함수로 문자열 비교
- [C++] strstr(), 특정 문자열 찾기