Я знаю начальный адрес строки (например, char* buf) и максимальную длину int l; строки (то есть общее число символов меньше или равно l).
Каков самый простой способ получить значение string из указанного сегмента памяти? Другими словами, как реализовать string retrieveString(char* buf, int l);.
  EDIT: память зарезервирована для записи и чтения строки переменной длины. Другими словами, int l; указывает размер памяти, а не длину строки.