Добрый день, уважаемые участники форума!
Помогите решить задачу выравнивания текста на C++:
из файла дан текст и дана длина требуемой строки - необходимо выровнять строки по центру. 
Для меня загвоздка состоит в том, что 
нужно использовать средства стандартной библиотеки , в С++ - 
я начинающий. 
Задачу чтения из файла я уже решил. У меня есть класс Text (с полем string Content) и метод выравнивания. В классе уже хранится строка с текстом. Как подступиться к задаче выравнивания? Можно ли это сделать легко используя STL? (В своих попытках я постоянно сбиваюсь на посимвольный разбор строки)
#include <iostream>
#include <fstream>
#include <string>
#include <vector>
using namespace std;
class Text
{
   public:
   void GetText(ifstream &in);
   void AlignCenter(int width);
   string Str;//
};
void Text::GetText(ifstream &in)
{
  if( in.is_open() )
  {
         in.seekg(0, ios::end);
         Str.resize(in.tellg());
         in.seekg(0, ios::beg);
     in.read((char *)Str.data(), Str.size());
  }
}
void Text::AlignCenter(int width)
{
   //do smth...
}
int main(void)
{
        Text myText;
        ifstream myfile("example.txt", ios::binary);// ios::binary ???? см. код GetText
        myText.GetText(myfile);
        cout << "Before:\n" << myText.Str;
       
        //
        cout << "\nAfter:\n" << myText.Str;
        return 0;
}