Tôi muốn chuyển đổi một vector<char>
thành std::string
và thực hiện chuyển đổi theo cách.Chuyển đổi một vector <char> thành chuỗi có chuyển đổi
Tôi sắp sửa ở đó, nhưng kết quả của mã bên dưới là vector<string>
, trong khi tôi muốn có một chuỗi (một phần của tất cả các phần chuỗi trong vectơ).
Xem ví dụ về mã của tôi để biết chi tiết.
string ConvertHexToAscii(const char input)
{
std::ostringstream oss;
oss << std::hex << std::setw(2) << std::setfill('0') << static_cast<int>(input);
return oss.str();
}
vector<char> readBuffer; // this is my input
readBuffer.push_back(0x1c);
readBuffer.push_back(0x09);
vector<string> resultVec;
std::transform(readBuffer.begin(), readBuffer.end()
, back_inserter(resultVec)
, ConvertHexToAscii);
// resultVec[0] = "1C";
// resultVec[1] = "09";
Kết quả tôi cần là một chuỗi chứa "1C09". Làm thế nào để đạt được điều đó với std::transform
?
Tôi thích điều này - đơn giản hơn nhiều so với xung đột với các trình lặp đầu ra chức năng. – Flexo