sprintf-Objective C

Ang*_*gus 7 objective-c

我有这个代码.

    sprintf((char *)pData,"%c%02X%c%02X%
    02X",ASCII_STX,m_uSessionId,m_chSequenceChar,m_nMessageId,m_uVersion);

    NSLog("%@",pData);
Run Code Online (Sandbox Code Playgroud)

但它是not printing我的contentspData.尝试使用%d格式说明符.

aka*_*kyy 14

也许你会使用Obj-C方法?

NSString *pData = [NSString stringWithFormat:@"%c%02X%c%02X%02X", ASCII_STX, m_uSessionId, m_chSequenceChar, m_nMessageId, m_uVersion];
NSLog(@"%@",pData);
Run Code Online (Sandbox Code Playgroud)


Mar*_*ins 2

尝试以下操作。也许它没有将 pData 识别为字符串:

NSLog( @"%s", pData );
Run Code Online (Sandbox Code Playgroud)

  • %@ 是对象的格式说明符。您(OP)正在尝试记录一个C字符串,即一个char*,而不是一个对象。%s 是在这种情况下使用的正确格式说明符。 (4认同)