有谁知道strncat无法将char初始化为零的原因?代码
int main()
{
uint8 uibuffer[4] = {0};
uint8 txbuffer[10] = "ab";
uint8 rxbuffer[4] = "cde";
strncat((char*)txbuffer,(char*)uibuffer, 4);
strncat((char*)txbuffer,(char*)rxbuffer, 4);
for (int i = 0; i < sizeof(txbuffer); i += 1)
{
cout << (int(txbuffer[i]))<<" : "<< char(int(txbuffer[i]))<<endl;
}
return 0;
}
现在的输出是
97 : a
98 : b
99 : c
100 : d
101 : e
0 :
0 :
0 :
0 :
0 :
所需的输出将是
97 : a
98 : b
0 :
0 :
0 :
0 :
99 : c
100 : d
101 : e
0 :