Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > Выравнивание строки до заданной длины


Автор: Recklessly 18.6.2014, 03:43
Нужно выровнять строку по правому краю до заданной длины.
Код

#include <iostream>
#include <string>
using namespace std;

void pad(string& s, int len)
{
    if (s.length() >= len)
        return;
    s.insert(s.begin(), len - s.length(), ' ');
}

int main()
{
    setlocale(LC_ALL, "rus");
    string s;
    int l;

    cout << "Введите строку: ";
    getline(cin, s);
    cout << "Задайте длину выравнивания: ";
    cin >> l;
    pad(s, l);
    cout << "Результат: " << endl;
    cout << s << endl;
    system("pause");
    return 0;
}

Здесь строка выравнивается по левому краю.
Помогите, пожалуйста, исправить

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)