我想在屏幕上顯示std::vector<unsigned char>
中的數字,但在前往收件人的途中,我需要將這些數字填入std::string
。將矢量<無符號字符> {1,2,3}轉換爲字符串「1-2-3」AS DIGITS
無論我嘗試過什麼(atoi
,reinterpret_cast
,string.c_str()
...),都給了我這些原始數字的無意義或字母表示 - 即它們對應的ASCII字符。
那麼我該如何輕鬆(最好是標準方法)將vector<unsigned char> {1,2,3}
轉換爲string "1-2-3"
?
在原始文章(稍後編輯)我提到,我可以在C#或Java中做到這一點。 在πάνταῥεῖ在C#或Java提供例子的要求,這裏是一個快速的LINQ C#的方式:
public static string GetStringFromListNumData<T>(List<T> lNumData)
{
// if (typeof(T) != typeof(IConvertible)) throw new ArgumentException("Expecting only types that implement IConvertible !");
string myString = "";
lNumData.ForEach(x => myString += x + "-");
return myString.TrimEnd('-');
}
'1'和''1''不是一回事。 – NathanOliver
您會如何以_easy方式使用C#或Java來做到這一點? –
@πάνταῥεῖ我剛剛發佈了C#示例,肯定是可能改進的主題:) –