如何将`const char *getVersion()`(从第三方库)分配给变量
How to assign a `const char *GetVersion()` (from a third-party library) to a variable?
如何为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*
指向的内存,或者是否不需要。
相关文章:
- 将数组的地址分配给变量并删除
- 将数组作为参数传递给函数安全吗?作为第三方职能部门,可以探索他们想要的之外的其他元素
- vector.resize()中的分配错误
- 如果C++类在类方法中具有动态分配,但没有构造函数/析构函数或任何非静态成员,那么它仍然是POD类型吗
- Win32编译器选项和内存分配
- 函数中堆分配的效果与缺少堆分配的情况
- 使用动态分配的数组会导致代码分析发出虚假的C6386缓冲区溢出警告
- 多个文件的内存分配错误"在抛出 'std :: bad_alloc' what (): std :: bad_alloc 的实例后终止调用" [C++]
- 获取字符串的长度并将其分配给数组
- 将地址分配给本地指针后,公共对象的变量将消失
- 递归模板化函数不能分配给具有常量限定类型"const tt &"的变量"state"
- 有没有一种方法可以使用placement new将堆叠对象分配给分配的内存
- 我在二维向量中是否正确分配了内存
- 正在尝试重载二进制搜索树分配运算符
- GlobalAlloc而不是其他分配方法
- 自定义先决条件对移动分配运算符有效吗
- 我可以重新分配/覆盖std::字符串吗
- 在c++中使用动态分配的问题
- 如何将`const char *getVersion()`(从第三方库)分配给变量
- 安置新的和第三方控制的分配