If you have a string literal such as "abcdef", you can interpret that as an array and use the '[]' operator to get the correct character from the string.
For example:
int main() {
for (int i = 9; i >= 0; i--) {
cout << "abcdefghij"[i];
}
cout << endl;
}
That will print out "jihgfedcba".
Now knowing this trick (as well as some other minor changes), we can omit a few lines from our hexToString() function in my previous article.
string toHexString(u32 value) {
char str9[9] = {'0'}; // '0' char followed by null bytes
for (int i = 7, pos = 0; i >= 0; i--) {
char dig = (value>>(i*4))&0xf;
if (!dig && !pos) continue;
str9[pos++] = "0123456789abcdef"[dig];
}
return string(str9);
}
No comments:
Post a Comment