1. Make sure that string is not const and call the assignment operator after you index the character. C-strings are easy, just use memset().
2. Use insert() on the string object.
std::string brand("Jello Kitty");
brand = 'H'; // "Hello Kitty"
char cstrbrand = brand.c_str();
memset(cstrbrand, 'J', 1); // "Jello Kitty" again
3. I'm not sure I understand, but I suppose you could just use the replace function if you know where to start. If not you have to find() it first.
Crap, a bit slow huh? At least the code is pretty.
std::string msg("My name is George W. Bush and I approve this message!");
msg.replace(11, 14, "citizen");