Константин
Константин

Разработать функцию, которая выравнивает строку по левому краю до заданной длины.

При реализации функции запрещается пользоваться функциями библиотек языка C.
Примечания:
1. В большинстве заданий необходимо предусмотреть работу функции при некорректном задании ее параметров.
2. В тех заданиях, где применен термин "слово", под ним понимается любая последовательность символов, ограниченная любым числом пробелов и/или началом/концом строки.

На языке СИ++

ДЯ
Дмитрий Янушевский

#include

using namespace std;

void limleft(wchar_t *, const size_t);
void begtrim(wchar_t *);
void ru();

int main() {
ru();
const size_t size = 1024;
wchar_t text[1024];
wcout << L"\tВведите текст: \n\n";
wcin.getline(text, size);
cout << endl;
const size_t limit = 10;

limleft(text, limit);

cin.get(); cin.get();
return 0;
}

void limleft(wchar_t * _text, const size_t _limit) {
begtrim(_text);
rsize_t n = 0, m = 0;
wchar_t tab = 9, space = 32;
while (_text[n]) {
if (++m > _limit) {
cout << endl;
while (_text[n] == tab || _text[n] == space) ++n;
m = 0;
} else wcout << _text[n++];
}
}

void begtrim(wchar_t * _text) {
wchar_t tab = 9, space = 32;
if (_text[0] == tab || _text[0] == space) {
rsize_t next = 1;
while (_text[next] == tab || _text[next] == space) ++next;
rsize_t current = 0;
while (_text[next]) _text[current++] = _text[next++];
}
}

void ru() {
wcout.imbue(locale(".866"));
wcin.imbue(locale(".866"));
}

Похожие вопросы
Как задать пустую строку в конструкторе С++?
Дана строка символов. Определить длину строки. Если длина строки <=20, то найти в строке порядковый номер символа *
Разработать алгоритм и программу вычисления функции Y в паскале :
Написать метод, который находит количество раз, сколько заданный символ встречается в заданной строке.
Функция для подсчёта частоты появления заданного символа в строке?
Разработать функцию, которая для заданного натурального числа N возвращает значение true - если число положительное, fa
разработать рекурсивную функцию, возвращающую значение, определяющую, является ли заданная строка палиндромом. c++
Как в фаерфоксе вернуть вводимое в адресную строку к левому краю?
Vb разработать программу, которая вводит с клавиатуры 5 строк, и для каждой строки выводит первую и последнюю букву.
Нужна помощь помогите с++ строки Удалить все вхождения заданного символа в заданной строке КАк организовать?