Я не совсем новичок в С++, но в прошлом у меня были небольшие серьезные отношения с ним, поэтому мои знания о его возможностях довольно отрывочны.
Я пишу программу быстрого подтверждения концепции на С++, и мне нужен динамически значимый буфер двоичных данных. То есть, я собираюсь получать данные из сетевого сокета, и я не знаю, сколько будет (хотя бы не более нескольких МБ). Я мог бы написать такой буфер сам, но зачем беспокоиться, если у стандартной библиотеки, вероятно, есть что-то уже? Я использую VS2008, поэтому некоторые расширения для Microsoft просто отлично. Мне нужно всего четыре операции:
- Создать буфер
- Запись данных в буфер (двоичный мусор, а не завершение нулями)
- Получить записанные данные как массив char (вместе с его длиной)
- Бесплатный буфер
Каково имя набора классов/функций/что мне нужно?
Добавлено: Несколько голосов идут в std::vector
. Все хорошо и прекрасно, но я не хочу бить несколько Мбайт данных побайтно. Сокет предоставит мне данные в нескольких кубах большого размера, поэтому я бы хотел написать их все сразу. Кроме того, в конце мне нужно будет получить данные как простой char *, потому что мне нужно будет передать весь blob вместе с некоторыми функциями Win32 API без изменений.