Есть файл в котором хранится таблица со структурой.
struct MyStruct
    {
        char nameF[10];
        char country[20];
        char city[20];
        char hotel[20];
        double rate_hotel;
        double price_hotel;
        double price_travel;
    };
При выводе могу оформить это с помощью 
printf("|%10s||%10s||%10s||               %3.0f||          %7.0f||      %7.0f|\n", p[i].country, p[i].city, p[i].hotel, p[i].rate_hotel, p[i].price_hotel, p[i].price_travel);
Но как можно сделать это в векторе при вводе данных с консоли. Не очень понимаю этот момент и даже не знаю как это гуглить.
cout << "Страна: \n";
    cin >> p.country;
    cout << "Город: ";
    cin >> p.city;
    cout << "Отель: ";
    cin >> p.hotel;
    cout << "Класс отеля: ";
    cin >> p.rate_hotel;
    cout << "Цена за один день проживания: ";
    cin >> p.price_hotel;
    cout << "Цена поездки в обе стороны: ";
    cin >> p.price_travel;
    
    line = p.country;
    line += "||";
    line += p.city;
    
    
    line += "||";
    line += p.hotel;
    line += "||";
    line += p.price_hotel;
    line += "||";
    line += p.price_travel;
    lines.push_back(line); // добавляем в "массив"
Этот код выводит просто друг за другом(пример: Россия||Москва). А из-за того что названия стран и городов могут быть разные по длине, но таблица получается с неровными краями.