Сообщение Есть ли функции аппенда UNICODE_STRING, чтобы буфер сам раст от 05.01.2018 23:59
Изменено 06.01.2018 0:02 sergey77666
Есть ли функции аппенда UNICODE_STRING, чтобы буфер сам
Проверяюсь.
Слабо верится, что никто так и не создал ничего, что стало известным.
Это ведь считанные человеко-дни.
Плюсовский wstring и прочие универсальные не предлагать — гемор с конвертацией туда-сюда с лихвой сожрет все упрощение от "резиновости" буферов.
Если кто не понял, то вот так бы хотелось:
RtlInitUnicodeString(&strRes, L"123");
RtlInitUnicodeString(&strRes2, L"456");
RtlAppendUnicodeStringToString(&strRes, &strRes2);
Но увы, так не катит, нужно вручную инициализировать strRes с буфером размера 6.
Сначала я терпел, но сейчас просто достало. Загромождает код и создает опасность, что добавишь еще пару append и оно перестанет влезать.
Хочу сделать функцию, которая будет создавать новый буфер (или тупо новую строку) с новым размером, копировать туда старую и новую, а старую очищать.
Про быстродействие не надо. Потому что в целом оно на него не повлияет. Критичные участки всегда можно сделать по-старому, это не повод отказываться от удобства.
Слабо верится, что никто так и не создал ничего, что стало известным.
Это ведь считанные человеко-дни.
Плюсовский wstring и прочие универсальные не предлагать — гемор с конвертацией туда-сюда с лихвой сожрет все упрощение от "резиновости" буферов.
Если кто не понял, то вот так бы хотелось:
RtlInitUnicodeString(&strRes, L"123");
RtlInitUnicodeString(&strRes2, L"456");
RtlAppendUnicodeStringToString(&strRes, &strRes2);
Но увы, так не катит, нужно вручную инициализировать strRes с буфером размера 6.
Сначала я терпел, но сейчас просто достало. Загромождает код и создает опасность, что добавишь еще пару append и оно перестанет влезать.
Хочу сделать функцию, которая будет создавать новый буфер (или тупо новую строку) с новым размером, копировать туда старую и новую, а старую очищать.
Про быстродействие не надо. Потому что в целом оно на него не повлияет. Критичные участки всегда можно сделать по-старому, это не повод отказываться от удобства.
Есть ли функции аппенда UNICODE_STRING, чтобы буфер сам раст
Проверяюсь.
Слабо верится, что никто так и не создал ничего, что стало известным.
Это ведь считанные человеко-дни.
Плюсовский wstring и прочие универсальные не предлагать — гемор с конвертацией туда-сюда с лихвой сожрет все упрощение от "резиновости" буферов.
Если кто не понял, то вот так бы хотелось:
RtlInitUnicodeString(&strRes, L"123");
RtlInitUnicodeString(&strRes2, L"456");
RtlAppendUnicodeStringToString(&strRes, &strRes2);
Но увы, так не катит, нужно вручную инициализировать strRes с буфером размера 6.
Сначала я терпел, но сейчас просто достало. Загромождает код и создает опасность, что добавишь еще пару append и оно перестанет влезать.
Хочу сделать функцию, которая будет создавать новый буфер (или тупо новую строку) с новым размером, копировать туда старую и новую, а старую очищать.
Про быстродействие не надо. Потому что в целом оно на него не повлияет. Критичные участки всегда можно сделать по-старому, это не повод отказываться от удобства.
Слабо верится, что никто так и не создал ничего, что стало известным.
Это ведь считанные человеко-дни.
Плюсовский wstring и прочие универсальные не предлагать — гемор с конвертацией туда-сюда с лихвой сожрет все упрощение от "резиновости" буферов.
Если кто не понял, то вот так бы хотелось:
RtlInitUnicodeString(&strRes, L"123");
RtlInitUnicodeString(&strRes2, L"456");
RtlAppendUnicodeStringToString(&strRes, &strRes2);
Но увы, так не катит, нужно вручную инициализировать strRes с буфером размера 6.
Сначала я терпел, но сейчас просто достало. Загромождает код и создает опасность, что добавишь еще пару append и оно перестанет влезать.
Хочу сделать функцию, которая будет создавать новый буфер (или тупо новую строку) с новым размером, копировать туда старую и новую, а старую очищать.
Про быстродействие не надо. Потому что в целом оно на него не повлияет. Критичные участки всегда можно сделать по-старому, это не повод отказываться от удобства.