Ну, как я уже говорил выше, вскоре после публикации вопроса нашел ответ: doh:
const char* g;
g = (const char*)buffer;
std :: string str;
str.append (g);
Итак, я могу вызывать функцию append () столько раз (после использования clear ()), как я хочу для того же объекта с "const char *".
Хотя функция "push_back" не будет работать вместо "append".