std::stringstream
是 C++ 標準庫中的一個非常有用的工具,它可以方便地在字符串和其他數據類型之間進行轉換
<sstream>
頭文件。#include<iostream>
#include <sstream>
#include<string>
std::stringstream
可以方便地將多個字符串或數值拼接成一個新的字符串。std::stringstream ss;
ss << "Hello, " << "World!"<< std::ends;
std::string result = ss.str();
std::string input = "one,two,three";
std::stringstream ss(input);
std::string token;
while (std::getline(ss, token, ',')) {
std::cout<< token<< std::endl;
}
std::stringstream
可以用于將數字轉換為字符串,反之亦然。// 將整數轉換為字符串
int num = 42;
std::stringstream ss;
ss<< num;
std::string num_str = ss.str();
// 將字符串轉換為整數
std::string str_num = "123";
int converted_num;
std::stringstream(str_num) >> converted_num;
std::stringstream
時,要注意檢查錯誤,例如輸入不是期望的類型。std::string str_num = "not_a_number";
int converted_num;
std::stringstream ss(str_num);
if (!(ss >> converted_num)) {
std::cerr << "Error: Invalid input"<< std::endl;
}
std::stringstream
對象可以通過調用 clear()
和 str("")
方法來重復使用,從而避免頻繁創建和銷毀對象。std::stringstream ss;
ss << "First string";
std::string first_str = ss.str();
ss.clear();
ss.str("");
ss << "Second string";
std::string second_str = ss.str();
通過遵循這些建議,你可以更高效地使用 std::stringstream
進行數據處理。