我有这个(不正确的)示例代码,用于从 stringstream 中获取一个值并将其存储在一个字节大小的变量中(它需要在一个单字节 var 中,而不是 int 中):
#include <iostream>
#include <sstream>
using namespace std;
int main(int argc, char** argv)
{
stringstream ss( "1" );
unsigned char c;
ss >> c;
cout << (int) c << endl;
}
我运行它时的输出是 49,这不是我想看到的。显然,这被视为 char 而不是简单的数值。当转换为 int 时,让 c 保持 1 而不是 49 的最 C++ 方式是什么?
谢谢!