2011-05-04 61 views
7

我有這段代碼。sprintf-Objective C

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

    NSLog("%@",pData); 

但其not printing我的pData的contents。試着用%d作爲格式說明符。

回答

2

請嘗試以下操作。也許它不承認pData爲字符串:

NSLog(@"%s", pData); 
+4

%@是對象的格式說明符。您(OP)正在嘗試記錄C字符串,即char *,而不是對象。 %s是在這種情況下使用的正確格式說明符。 – Caleb 2011-05-04 14:21:41

14

也許你會使用Obj-C方法?

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