Your first option would have a problem in that you would have a single function that returns either a stirng (or maybe pointer to string) or an integer. But this is not legal in C++, as the compiler cannot distinguish (from return type alone) which one you mean. A better option would be to create a class (or structure) that holds the user information and has methods (getters) that return the relevant properties.
speaking as ...