The scanf takes the 'name' which is already an address so you don't need the ampersand, and you are reading a string instead of a single character so the format specifier is 's', not 'c'.
The subject says it all, really. I have some binary data which I want to seperate into various short, int, etc values. I was trying to do something with std::vector<unsigned char> but haven't had any ...