如何获取stringstream将uint8_t视为数字而不是字符?

时间:2013-02-23 23:39:49

标签: stringstream

我有这段代码,想知道是否可以将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'

2 个答案:

答案 0 :(得分:1)

如果您使用std :: stringstream将uint8_t转换为字符串,则可以使用std::to_string代替。仅在c ++ 11中允许。

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;