我有一个方法,采用无符号的字符,但我想通过它0x01。C++:如何将十六进制字符转换为无符号字符?
我知道我可以用“\ x01”表示字符串中的十六进制字符...... 但这仍然是一个有符号的字符。
编辑: 一些代码:
kennys_hash((unsigned char const *)"\x00"); // the method call
错误:
src/main.cpp:88: error: invalid conversion from ‘const unsigned char*’ to ‘unsigned char’
src/main.cpp:88: error: initializing argument 1 of ‘unsigned char kennys_hash(unsigned char)’
方法头:
unsigned char kennys_hash(unsigned char out)
而且,当流延只是为unsigned char,我得到这个错误:
src/main.cpp:88: error: cast from ‘const char*’ to ‘unsigned char’ loses precision
你能更具体?你的输入是什么,你想要的输出是什么?请提供代码。 – 2011-03-24 15:01:36
增加了一些代码 – NullVoxPopuli 2011-03-24 15:10:13
“\ x00”不是char。它的char *。它不匹配“unsigned char out” – Shelwien 2011-03-24 15:12:47