Мой ответ не имеет значения, так как я что-то упустил в вашем вопросе. проблема в том, что вы преобразуете int *
в char *
, приведение указателей является корнем многих проблем (в данном случае это, вероятно, проблема с порядком байтов).
Если вы хотите использовать sprintf, используйте его на char*
, а не int*
:
- (BOOL) TxCreateImage:(id) pData withLen:(id)uLen
{
char printStr[30];
sprintf(printStr,"%x%d%d%d",ASCII_STX,m_uSessionId,m_chSequenceChar,m_nMessageId);
//uLen = ENCODED_MSG_DATA_OFFSET;
NSLog(@"%s",printStr);
return YES;
}