Чувствую заколебал уже с указателями в последнее время, но это кажись последний вопрос по этому поводу ( по крайней мере сейчас так думается)
Код | ...... char EPCString[30]; FormatEPC(EPCString, _inventoryNtf->Epc, _inventoryNtf->EpcLen); //_inventoryNtf->Epc - unsigned short * //_inventoryNtf->EpcLen - unsigned int void FormatEPC(char *buffer, unsigned short *EPCData, unsigned int EPCLength) { if (0 == EPCLength) { strcpy(buffer,"(Blank EPC)"); } else { char *scratch = buffer; unsigned short *epcIter = EPCData; unsigned int epcLenIter = 0;
while (epcLenIter < EPCLength) { printf("Iter: %s",epcIter); //Format with dashes betwen word boundaries to improve readability sprintf(scratch, ((epcLenIter < EPCLength-1) ? "%04X-":"%04X"), *epcIter); scratch += 5; epcIter++; epcLenIter++; } } }
|
Здесь суть в том, что по указателю число кадиется в шестнадцетиричном виде (с дополнением до 4 символов) в scratch.
Собственно вопрос: как по указетелю извлечь наше число типа ushort, для его последующего преобразования? |