如何转换NPVariant *至char *?

时间:2013-02-11 14:50:18

标签: npapi

我有接收NPVariant的NPAPI插件方法*我需要将其转换为char *,我听说NPVariant不会以NULL字符结尾所以在我处理参数之前我需要将它转换为char *,任何人都可以告诉我如何将其转换为char *?

提前致谢...

1 个答案:

答案 0 :(得分:2)

NPVariant有一个typevalue,该值有stringValue,其中包含指针UTF8Characters和UTF8Length,因此它也会告诉您长度。

例如:

NPVariant yourVariant; //Pretend this is initialized
if (yourVariant.type == NPVariantType_String) {
    const NPUTF8* characters = yourVariant.value.stringValue.UTF8Characters;
    int length = yourVariant.value.stringValue.UTF8Length;
}

UTF8Characters是NPUTF8,它可能是char的typedef。

知道长度,你可以构造你自己的空终止的char *。