Эксклюзив Wstring - Кастомная реализация Wchar_t строк на чистом C++


X-Shar

:)
Администрация
Регистрация
03.06.2012
Сообщения
6 082
Репутация
8 199
Всем привет !

Для чего нужен данный проект:

1)Для создания протекторов, зверьков и если по какой-то причине нужно отказаться от STL и CRT.

2)Также полезно для тех-кто пишит драйвера на уровне ядра.

Что это за проект:

Кастомная реализация работы со строками wchar_t, написана на чистом С++, это означает, что не используются сторонние библиотеки в частности STL и либси.
Даже оператор new, был заменен на кастомный алокатор.)))

Итак, что умеет данный класс:

1)Удобное сравнение строк в условных операторах (<,>,==).

2)Удобное создание строк, пример:

Wstring s = L" Тестовая Строка. ";

3)Сложение строк:

Wstring test1 = s1 + s2 + s3;

4)Разделение строки на лексемы (Метод split), как использовать:

4.1)Создаете массив строк, в который будут помещены лексемы:

Wstring test_split[10];

//Для наглядности тестовая строка:
Wstring tested_str = L"Test1|Test2|Test3|Test4|Test5";

4.2)Вызываете метод split,с необходимыми параметрами (Описание параметров ниже):

tested_str.split((wchar_t*)L"|", test_split, 10, &count_splited);

Описание параметров:

(wchar_t*)L"|" - Делитель.

test_split - Массив, куда будут помещены итоговые строки.

10 - Размер массива.

count_splited - Число полученных строк.

Все в test_split, будут итоговые строки.)))

5)Метод c_wstr() - Получение указателя на wchar_t.

6)Метод Find, выполняет поиск подстроки в строке.

Возвращает позицию искомой строки.

Пример:

Wstring test_find = L"This is an awesome fun project. Let's do this again.";
size_t npos = test_find.Find(L"awesome");

7)Метод numeric_to_wstr - Конвертирует число в строку.

Пример:

//Тест конвертации числа в строку
uint32_t npos = 55;
Wstring Position_str = L"\0";
Position_str = Position_str.numeric_to_wstr(npos);

Описание проекта:

Wstring.cpp - Основная реализация класса.

Helpers.cpp - Кастомная реализация работы со строками из либ. си.

CustomAlloc.cpp - Кастомная реализация аллокатора.

Test.cpp - Тестовые примеры, как работать.

Release/Wstring.exe - Собранный проект.

Ссылка на гитхаб:
 
Верх Низ