请教一个字符串的问题
牧牛童子 2017-10-03 02:14:20
代码:
unsigned char PwdKey[16]={0};
//unsigned char PwdKey[18]={0}; //多定义2个字节置0;
for(int i=0;i<16;i++)
{
PwdKey[i] = (unsigned char)userPwd.c_str()[i];
}
//PwdKey[16]='\0';
cout<<"pwd:"<<PwdKey<<endl;
输出的结果:pwd:Dcde432^vf......}O //后面的乱字符,似乎越界
若加上:PwdKey[16]='\0'; 就正常:输出的结果:pwd:Dcde432^vf...... //正好是16个字符。
教科书不上不是一直说,pwdkey[16]为0么?为何这里,似乎不是 '\0' 呢?