std::stringのdata()に書き込んじゃダメ?

std::string s;
s.resize(10);
char *p = const_cast<char *>(s.data());
for ( i = 0 ; i < s.size() ; ++i ) p[i] = 'a';

こういうことやりたいんだけど