8

私はこのコードを持っていますが、stringstream で uint8_t を文字ではなく数字として扱うことができるかどうか疑問に思っていますか?

uint8_t s;
std::stringstream sstream( "255" );
sstream >> s;
std::cout << s << " equals 50/'2' not 255 " << std::endl;

s は 50/'2' ではなく 255 にする必要があります

4

2 に答える 2

3

uint8_t を文字列に変換するために std::stringstream を使用している場合は、代わりに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"
于 2014-03-31T14:05:23.703 に答える
1

にキャストしますint

std::cout << (int)s << " equals 2 not 255 " << std::endl;
于 2013-02-23T23:43:17.073 に答える