如何将`const char *getVersion()`(从第三方库)分配给变量

How to assign a `const char *GetVersion()` (from a third-party library) to a variable?

本文关键字:第三方 分配 变量 getVersion const char      更新时间:2023-10-16

如何为const char *GetVersion()的值分配变量?

我正在使用第三方库,该库说const char *GetVersion()可用。以下代码成功编译:

#include <iostream>
#include <Windows.h>
#include "ThirdPartyLibrary.h"
int main()
{
    const char *GetVersion();
}

如何将const char *GetVersion()分配给变量?

update

char const *getVersion()

应用程序手册的版本 加载了运行扩展的接口。这个版本是 与API版本不同,API版本在下面的宏中记录。

您的代码编译,因为编译器了解

const char *Function();

作为函数原型


首先,阅读文档。看起来您可以简单地写

const char* my_variable = Function();

但请检查是否需要发布任何内存。(我的直觉是您没有给出返回类型是const,但也许您需要回到该库中的my_variable作为参数)。

如何将const char *GetVersion()分配给变量?

我建议立即安全存储由C-Interface函数返回到std::string对象的RAW C风格的字符串指针:

std::string version = GetVersion();

c 中,使用适当的字符串 class 中更便宜/更方便。

您还应该阅读您的功能文档,以找出是否必须 repares 返回的const char*指向的内存,或者是否不需要。