我是C語言的初學者,我想知道如何將未簽名的short存儲到char數組中?如何將未簽名的short存儲到char數組中? C語言
unit16_t是無符號短小,下面是我的代碼。
uint16_t combined = 1234;
char echoPrompt[] = {combined};
編輯:
對不起爲是 不清楚我需要echoPrompt是一個字符數組和組合需要是一個整數。我將echPrompt作爲char數組傳遞給需要char數組的UART_write。
我是C語言的初學者,我想知道如何將未簽名的short存儲到char數組中?如何將未簽名的short存儲到char數組中? C語言
unit16_t是無符號短小,下面是我的代碼。
uint16_t combined = 1234;
char echoPrompt[] = {combined};
編輯:
對不起爲是 不清楚我需要echoPrompt是一個字符數組和組合需要是一個整數。我將echPrompt作爲char數組傳遞給需要char數組的UART_write。
您無法將數組傳遞給函數。你可以傳遞一個指針。指針不是數組。
如果您UART_write看起來類似的東西任何標準的C/POSIX功能write
,fwrite
等,則需要
result = UART_write (...,
(char*)&combined,
sizeof(combined), ...);
還有就是在字符數組沒有必要。
如果我理解正確的話,你希望在char數組中保存每一個較短和較低的1字節的短字符。
那麼,你爲什麼不使用聯合?
typedef struct uint16_s{
char upper;
char lower;
} uint16_s;
typedef union uint16_u{
uint16_s sBuf;
uint16_t tBuf;
} uint16_u;
uint16_u combined;
combined.tBuf = 1234;
char echoPrompt[] = {combined.sBuf.upper, combined.sBuf.lower};
您需要添加更多關於您爲什麼需要這樣做的信息。簡短的答案是爲什麼不使用一組短褲? – John3136
嗨,約翰,請看上面 –
請給出更多關於這個問題的細節。根據具體情況,至少有兩種不同的方法。 – GMichael