我有一个结构:
typedef struct {
LogLevel level;
char message[255];
} LogMessage;
然后我有一个函数,它接收一个指向logMessage结构的指针,需要调用一个接受char*的函数:
xStatus = xQueueReceive(xQueueHandleGSMSend, &lReceivedData, portMAX_DELAY);
if(xStatus == pdPASS)
{
logSimpleMessage(&lReceivedData->message, 1);
}
以下是logSimpleMessage函数的原型:
void logSimpleMessage(const char * message, int level);
当我试图用上面的代码调用它时,我没有得到消息的正确地址(或内容)。如何获取指向lreceiveddata消息的字符*?
编辑:我已经尝试使用lreceiveddata->消息,如建议所示,但仍无法获得正确的地址或值。这是IDE的屏幕盖…我是否在调试器中做了一些非常错误的事情,因为它似乎应该工作。
最佳答案
而不是
logSimpleMessage(&lReceivedData->message, 1);
你这么说:
logSimpleMessage(lReceivedData->message, 1);