char buf[512] = { 0 };
int ret = recv(gSock, buf, 512, 0);
typedef struct _STRUCT {
int package;
int version;
char string[512];
} STRUCT, *PSTRUCT;
PSTRUCT ok;
ok = (PSTRUCT)buf;
Я пытаюсь принять буфер из сокета (Код не здесь, но он работает).Он принимает его и помещает в буфер.Затем я хочу использовать этот buf как структуру STRUCT.Я хочу, чтобы первые 4 байта вошли в первый член, вторые 4 байта во второй член, а затем оставшиеся данные перешли в последний член.Однако это не работает, как я ожидал.Я получаю странные большие цифры, которые я не получаю.
Я ввел 1111111111 (10) и получил следующие результаты:
package = 825307441
version = 825307441
string = 11\n
Я выполнил десятичное преобразование в шестнадцатеричный номер пакета, и оно вернулось как 31313131, чтомои первые 4 1.Так что я не уверен, почему он идет от целого числа, чтобы вернуться к целому числу.Я хочу именно то, что отправляет, чтобы войти в структуру.