Как увеличить максимальную длину string в C++?

Рейтинг: 0Ответов: 1Опубликовано: 17.07.2023

у меня есть массив символов и мне нужно вставить туда строку весом примерно 27 килобайт. Visual Studio выдает мне ошибку: "Слишком большая строка, замыкающие знаки сокращены". Как мне можно увеличить размер максимальный и возможно ли хранить до 100 мегабайт и выше?

Ответы

▲ 1Принят

Чтоб встроить большую строку в исходники её нужно правильно подготовить. Порезать вручную и не забыть экранировать спецсимволы:

char dlinnaya[] = (
  "кусок строки"
  "кусок строки"
  "кусок строки"
  "кусок строки"
...

  "кусок строки"
);

Самый удобный способ - через программу xxd

xxd -i key > ./key.h

Тут немного на баше... но можно найти для виндовс https://linuxhint.com/run-xxd-command-in-windows/ или https://sourceforge.net/projects/xxd-for-windows/files/

В файле key исходная строка

В файле key.h будет такое содержание

unsigned char key[] = {
  0x80, 0x1f, 0xfd, 0x32, 0x52, 0x41, 0x6d, 0xdf, 0x6d, 0xf5, 0x16, 0xa0,
....
....
  0x28, 0x95, 0x32, 0xbe, 0x9f, 0x8a, 0xd6, 0xa5
};
unsigned int key_len = 32000;

Его инклудите куда нужно и в переменной key у Вас 32000 байт, которые можно кастануть в строку или использовать как есть.