-2
我想在單個字符數組索引中存儲一個整數。在這種情況下,itoa
函數不起作用。誰能幫忙?如何將整數存儲在字符數組的單個索引中?
我想在單個字符數組索引中存儲一個整數。在這種情況下,itoa
函數不起作用。誰能幫忙?如何將整數存儲在字符數組的單個索引中?
如果你的意思是你要使用的整數作爲字符值,並把它放在一個陣列,那麼它只是
array[index] = number;
如果你的意思是你要編寫一個位數的值到一個數組的某個特定索引,然後
if (number >= 0 && number < 10) {
array[index] = '0' + number;
} else {
// not representable by a single digit
}
UPDATE:從您的意見,這可能是你想要的。
如果您的意思是要將數字的十進制表示形式寫入數組(不僅包含一個字符元素),則不要使用itoa
,因爲這是非標準且危險的。 snprintf
能做到這一點更安全:
if (snprintf(array, array_size, "%d", number) >= array_size) {
// the array was too small
}
或者,因爲這是C++,你可以使用std::string
來管理內存,爲您和保證陣列足夠大:
std::string string = std::to_string(number);
,或者,如果你'卡住了過時的C++庫
std::ostringstream ss;
ss << number;
std::string string = n.str();
如果你的意思是別的,那麼請澄清。
你是什麼意思「單個索引中的單個整數」? –
在char數組的單個*元素中? – peterph
是在字符數組的單個元素中是 int num; char arr [10]; arr [0] = num; 但我沒有得到正確的值。 – Salman