[C++] 如何把std::vector对象转换成字符串?

要将C++中的std::vector转换为string,可以使用以下方法:

1)使用循环遍历vector,并将每个元素转换为string后拼接到一起

#include <iostream>
#include <vector>
#include <string>

int main() {
    std::vector<int> nums = {1, 2, 3, 4, 5};
    std::string result;
    
    for (int num : nums) {
        result += std::to_string(num);
    }
    
    std::cout << result << std::endl;
    
    return 0;
}

输出:12345

2)使用C++标准库的字符串流(stringstream)来拼接vector中的元素

#include <iostream>
#include <vector>
#include <string>
#include <sstream>

int main() {
    std::vector<int> nums = {1, 2, 3, 4, 5};
    std::stringstream ss;
    
    for (int num : nums) {
        ss << num;
    }
    
    std::string result = ss.str();
    
    std::cout << result << std::endl;
    
    return 0;
}

输出:12345

这两种方法都可以将std::vector中的元素转换为一个字符串。可以根据实际需求选择合适的方法。

3)定义模板函数

template <typename T>
static std::string join(std::vector<T> lst, std::string delimiter) {
	std::stringstream ss;

	for (int i = 0; i < lst.size(); i++) {
		T t = lst[i];
		if (i < lst.size() - 1) {
			ss << t << delimiter;
		}
		else {
			ss << t;
		}
	}

	return ss.str();
}

猜你喜欢

转载自blog.csdn.net/u011775793/article/details/136270589