No need, as you can use operator to index characters in the string.
Break the string into a series chars, C_str should do fine. Then cast every character to an unsigned int.
@OP: I'd use std::transform with std::toupper to convert the string to upper case, then I'd use std::remove_if to remove all the characters that weren't between 'A' and 'Z', and then all you have to do is subtract 'A' and add 1 to each character and you're good to go. Alternatively, I'd use std::remove_if with std::isalpha to get it to just alpha characters, and then use std::transform with a function that did std::toupper() - 'A'+ 1 in one pass. Once the string is just a collection of bytes that represent the right values for each character, I'd probably just output each character to a std::ostream, casting each char to an int and adding a period between numbers.
Something like that. How I'd actually do it kind of depends on the situation.