我有这段代码,想知道是否可以将stringstream作为一个数字而非字符来处理uint8_t?
uint8_t s;
std::stringstream sstream( "255" );
sstream >> s;
std::cout << s << " equals 50/'2' not 255 " << std::endl;
s应为255而不是50 /'2'
答案 0 :(得分:1)
如果您使用std :: stringstream将uint8_t转换为字符串,则可以使用std::to_string代替。仅在c ++ 11中允许。
#include <stdint.h>
#include <iostream>
uint8_t value = 7;
std::cout << std::to_string(value) << std::endl;
// Output is "7"
答案 1 :(得分:0)
将其投放到int
:
std::cout << (int)s << " equals 2 not 255 " << std::endl;