获取 char 的十进制 ascii 值

Cap*_*pie 4 c++ ascii type-conversion char

我需要获取 char 的十进制 ascii 值。到目前为止,使用它打印它(避免负值)没有问题。

char x;
cout << dec << (int)x << endl;
Run Code Online (Sandbox Code Playgroud)

dec当我想将值分配给变量时,问题就出现了intdec该值不能在cout. 有什么建议如何做到这一点?请注意,这(int) char不会起作用,因为我也会得到负值,并且我想避免它们。

我已经尝试过atoiunsigned int,但到目前为止,没有运气。

Vla*_*cow 5

将 type 的对象强制转换char为 type 的对象就足够了unsigned char。例如

char c = CHAR_MIN; 

int x = ( unsigned char )c;
Run Code Online (Sandbox Code Playgroud)

或者

int x = static_cast<unsigned char>( c );
Run Code Online (Sandbox Code Playgroud)