簡體   English   中英

訪問數組的最后一個元素

[英]Access Last Element of Array

我正在嘗試訪問C ++中數組中的最后一個元素(更具體地說,我正在嘗試將整數轉換為字符數組,然后訪問最后一位)。 到目前為止,這是我想出的:

int number_to_convert = 1234;
char * num_string;
sprintf(num_string, "%d", number_to_convert);
printf("Number: %d Sizeof num_string: %d Sizeof *num_string: %d Sizeof num_string[0]: %d\n", number_to_convert, sizeof(num_string), sizeof(*num_string), sizeof(num_string[0]));

使用此信息,我嘗試了幾種不同的組合來訪問最后一個元素:

num_string[sizeof(number_to_convert)/sizeof(*number_to_convert)-1];
num_string[sizeof(number_to_convert)-sizeof(char)]

也許有一種更好的方法來獲取最后一位數字,但這是我能找到的最佳方法。 我想要最后一個字符(而不是空字符)。

對於n的最后一個十進制數字,請嘗試n % 10

要獲取該數字的文本數字字符,請使用'0' + (n % 10)

對於任何其他數字底數,請用該底數替換10


“因為我可以”的方式:

std::ostringstream s;
s << n;
char last_digit = *s.str().rbegin();

甚至:

const char last_digit = *static_cast<std::ostringstream&>(std::ostringstream() << n).str().rbegin();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM