В настоящее время я не могу понять, как правильно вводить информацию о касте.
Мне дан буфер двоичных данных, доступ к которому осуществляется из char*
, и мне нужно извлечь всю информацию, которую он хранит. Я знаю, что мне следует набирать текст, но я делаю что-то не так!
Функции типа atoi
, atol
, atof
не работают, потому что это не строка чисел, а скорее как строка 0
s и 1
s, которые необходимо интерпретировать как числа .
В широком смысле вы можете думать об этом как о следующем формате char
long int
char
unsigned int
double
, Теперь, если бы я хотел получить эту первую строку, я делал бы что-то вроде:
char temp_c1 = (char)*(buffer);
long int temp_i = (long int)*(buffer+1);
char temp_c2 = (char)*(buffer+5);
unsigned int temp_ui = (unsigned int)*(buffer+6);
double temp_d = (double)*(buffer+10);
Мои значения для long int
, unsigned int
и double
все неверны, но оба char
s верны. Я не понимаю, как правильно типизировать строку двоичных данных для типов long int
, unsigned int
и double
. У кого-нибудь есть идеи?