C++ std::vector<char> 轉 std::string 的 2 種方法

本篇 ShengYu 介紹 C++ std::vector<char>std::string 的方法,

以下 C++ std::vector<char>std::string 的 2 種方法分別是,

  • 使用 string range constructor
  • 使用 for 迴圈

那我們就開始吧!

使用 string range constructor

C++ std::vector<char>std::string 可以使用 string 建構子中的 range constructor,方法如下,

cpp-vector-char-to-string.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
// g++ cpp-vector-char-to-string.cpp -o a.out -std=c++11
#include <iostream>
#include <string>
#include <vector>

int main() {
std::vector<char> v = {'H', 'e', 'l', 'l', 'o'};
std::string s(v.begin(), v.end());

std::cout << s;

return 0;
}

輸出如下,

1
Hello

使用 for 迴圈

另一種 C++ std::stringstd::vector<char> 可以使用 for 迴圈將 vector 裡每個元素添加到 string 裡,添加到 string 可以使用 std::string 的 +=operator 的方式或是 push_back 的方式都可以,

cpp-vector-char-to-string2.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
// g++ cpp-vector-char-to-string2.cpp -o a.out -std=c++11
#include <iostream>
#include <string>
#include <vector>

int main() {
std::vector<char> v = {'H', 'e', 'l', 'l', 'o'};
std::string s;
for (char &c : v) {
s += c;
//s.push_back(c);
}
std::cout << s;

return 0;
}

輸出如下,

1
Hello World

以上就是 C++ std::vector<char>std::string 的 2 種方法的介紹,
如果你覺得我的文章寫得不錯、對你有幫助的話記得 Facebook 按讚支持一下!

其他參考
Convert a vector of chars to std::string in C++
https://www.techiedelight.com/convert-vector-chars-std-string/

其它相關文章推薦
C/C++ 新手入門教學懶人包
C++ std::string 轉 std::vector<char> 的 2 種方法
C/C++ 整數轉字串的方法與範例
C++ virtual 的兩種用法
C/C++ 字串反轉 reverse
C/C++ call by value傳值, call by pointer傳址, call by reference傳參考 的差別