Если вы хотите добавить свой номер в качестве строки как: String = «ала» и номер = 20 вы хотите получить результат = «ala20» вместо того, чтобы использовать сырые указатели (которые в большинстве случаев не требуется когда речь идет о C++), вы можете просто использовать std::stringstream
, который может позволить вам добавить любой простой тип (и строки):
std::stringstream myStream;
myStream << "I have ";
myStream << 2;
myStream << " apples.";
std::cout << myStream.str() << std::endl;
которая дала вам выход:
I have 2 apples.
Если вы хотите сериализовать коротка, чтобы обугливается буфер (скопировать его байт в байт), вы можете использовать memcpy
:
memcpy(&buffer[offset], &value, sizeof(value));
Конечно, вы должны иметь достаточно памяти после buffer+offset
.
Вы не указали, какова цель этой операции. Если он предназначен для показа (например, первый), то std::stringstream
- это путь. Если вы сохраняете некоторые данные в файл или передаете их через сокет, у второго меньше потребление памяти - для максимального значения short
(32767) первой версии потребуется 5B (количество цифр - 1B на цифру), когда будет сохранена вторая версия любое значение short на 2B (при условии, что размер short
равен 2B).
Что именно вы пытаетесь достичь? И покажите нам, что вы пробовали. –
«Я хочу добавить слона к мыши, единственное, что я думаю, что это можно сделать, - это использовать косилку». Вот как выглядит ваш вопрос :) – Drax
У меня есть готовый неподписанный символ *, который содержит данные. Это код, который я получаю от метода, который я не могу редактировать. Я хочу добавить короткое значение int в конце этих данных. У меня нет кода для показа, так как я не знаю, с чего начать. @Drax: Мне это нужно как unsigned char * – Dries