У меня есть функция, которой указатель char передается в качестве входных данных. Когда я принимаю ввод, переданный указателем char, на беззнаковый char, он отлично работает. Но unsigned char имеет длину 1 байт, поэтому я мог принимать только те значения, длина которых составляет один байт. Но теперь мне нужно ввести ввод длиной 4 байта в переменную.
Моя функция:
void charPointer (char* aBinary)
{
unsigned char aByte = '\0';
memcpy(&aByte, &(aBinary[0]), 1);
m1 = static_cast<short>(aSingleByte);
}
Как мне это сделать?
memcpy
здесь совершенно не нужно. Вы перезаписываете только один символ, просто выполнитеaBinaryIPAddress[0] = '\0';
. - person Zac Howland   schedule 05.11.2013int mIPv4_1 = (int)aSingleByte;
вам даже не нужно бросать. почему вы используетеmemcpy
для копирования одного байта? - person SHR   schedule 05.11.2013