我見過一些處理無符號短陣列并在其中存盤“字串”的代碼。但我很好奇人們如何將無符號短陣列中的字串轉換或提取為字符陣列,以便在printf() 中用于除錯目的。
unsigned short a[5];
char b[5];
a[0] = 'h';
a[1] = 'e';
a[2] = 'l';
a[3] = 'l';
a[4] = 'o';
printf("%s\n", a);
// output is just the 'h'
根據我最近的理解,一個 unsigned short 是 2 個位元組,所以 'h' 有一個 Null 終止符。而通常使用 char 并且每個字符是 1 個位元組。
有沒有一種好方法可以提取“字串” 'hello' 并將其放入 char[] 以便稍后列印出來?迭代無符號短陣列并將值存盤到字符陣列中?
uj5u.com熱心網友回復:
如何轉換?:
char b[6];
for(size_t i = 0; i < 5; i ) b[i] = a[i];
b[5] = 0;
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/315992.html
下一篇:正確實作For回圈
