gpt4 book ai didi

c++ - unsigned char * 问题

转载 作者:行者123 更新时间:2023-11-28 03:44:57 26 4
gpt4 key购买 nike

我在使用 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] = '\0';

您可能更愿意使用函数 itoa(10, s, 10);

参见itoa手册,函数itoa声明为...

char* itoa(int valueToConvert, char* outputBuffer, int base);

如果你尝试做 cout << character ;它将打印字符,而不是字符代码。要打印字符代码,您应该执行 cout << (int)character; .不要使用 unsigned char对于字符,字符是带符号的字符,对于 friend 来说只是字符。

关于c++ - unsigned char * 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7942512/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com