【发布时间】:2012-10-24 07:22:10
【问题描述】:
我有一个结构:
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 消息的 char*?
编辑:我已尝试按照建议使用 lReceivedData->message,但我仍然没有得到正确的地址或值。这是 IDE 的屏幕截图...我在调试器中做错了什么吗,因为它似乎应该可以工作。
【问题讨论】:
-
您期望的价值是多少?我可以在调试器中看到消息字符串是“检查堆栈状态”。logSimpleMessage() 中正在打印/显示什么?