在我的项目中,有一个方法只返回const char*,而我需要一个char*字符串,因为API不接受const char*.

你知道怎么在const char*char*之间换算吗?

推荐答案

为了安全起见,您不会 destruct 内容(例如,当这些字符串在代码中或以后发生更改时),或使程序崩溃(如果返回的字符串是文本,例如"hello I'm a literal string",并且您开始编辑它),请复制返回的字符串.

你可以用strdup()来做这个,但是要读small print.当然,如果您的平台上没有您自己的版本,您也可以创建它.

C++相关问答推荐

生成C代码时自动复制/生成' tmwtypes.h '依赖项

编译SDL 2时缺少SDL_ttf

为什么内核使用扩展到前后相同的宏定义?

以下声明和定义之间的区别

双指针指向常量双指针的指针类型赋值不兼容

为什么cudaFree不需要数据 struct 的地址?

Sizeof(&Q;字符串&Q;)的正确输出是什么?

致命错误:ASM/rwan ce.h:没有这样的文件或目录.符号链接还不够

在函数外部使用内联ASM时无法指定操作数

C代码可以在在线编译器上运行,但不能在Leetcode上运行

宏观;S C调深度

在吉陀罗中,_2_1_和CONCAT11是什么意思?

向左移位3如何得到以字节为单位的位数?

C编译和运行

如何使用WRITE()以指针地址的十六进制形式写入标准输出

计算时出现奇怪的计算错误;N Select K;在C中

为什么argc和argv即使在主函数之外也能工作?

在哪里可以找到叮当返回码的含义?

";错误:寄存器的使用无效;当使用-masm=intel;在gcc中,但在AT&;T模式

std::malloc/calloc/realloc/free 与纯 C 的 malloc/calloc/realloc/free 有什么不同