Trouble with unsigned char *
Trouble with unsigned char *
我有unsigned char *的麻烦。下面是我的代码:
unsigned char *str=NULL;
str= (unsigned char*) realloc(str, 10*sizeof(unsigned char));
int number=10;
str[0]=(unsigned char) number;
当我尝试用cout查看str[0]时,它显示的不是10。当把其他变量放入str:
时,我也会遇到麻烦。unsigned char c='c';
str[0]=c;
cout<<str[0];
str[0]将输出a。我错过了什么?
s[0] = 10;
表示将字符码10
放到数组s
的第一个位置。试一试:
s[0] = '1'; s[1] = '0'; s[2] = ' ';
可能您更愿意使用itoa(10, s, 10);
参考itoa手册,函数itoa被声明为…
char* itoa(int valueToConvert, char* outputBuffer, int base);
如果你尝试执行cout << character
;它将打印字符,而不是字符代码。要打印字符代码,您应该执行cout << (int)character;
。不要对字符使用unsigned char
,字符是有符号的字符,对于朋友来说就是简单的字符。
相关文章:
- 如何使用多次 memcpy 转换回 std::vector<unsigned char>?
- 错误:从'void*'到'const uint8_t* {aka const unsigned char*}'的转换无效 [-允许]
- C++ - 从 "int" 到 "unsigned char" 的缩小转换无效
- 让 'std::vector<unsigned char>' 从 'std::string' 中窃取内存
- 无法从'unsigned short [9]'转换为'char []'
- 使用外部变量会导致"unsigned char"错误LNK2001
- CPPrestsdk (Casablanca) JSON 值到 std::vector<unsigned char>
- memcpy unsigned char to int
- 有没有办法将 vector<unsigned char> 插入 postgresql 表中,具有 bytea 属性,没有 UTF8 编码错误?
- 没有匹配函数来调用"std::basic_ofstream<char>::write(std::string*, long long unsigned int)"
- 将数据从 vector<unsigned char> 传输到无符号 char[]
- 如何修复此 OpenCV 错误:断言失败((无符号)i < (无符号)cn) 在 cv::Vec<unsigned char,3>:::运算符 (), 文件
- 你什么时候会使用"signed char"而不是"unsigned char"?
- 错误:初始化时无法将'const unsigned char (*)[7]'转换为'const unsigned char (*)[]'
- 如何将std :: string传递到C 中的const unsigned char **
- 类型 "unsigned char *" 的参数与类型 "const char *" 的参数不兼容
- C 如何在功能调用中从char *转换为unsigned char *
- 从'byte* {aka unsigned char*}'到'dword {aka长unsigned int}'失去精度
- 'unsigned short var'与'unsigned char var [2]' C++
- C++ cast char * to unsigned char