将字符串复制到 char**

标签 c pointers strcpy

我不明白为什么会出现下面的代码:

char** receive_message(char** ret)
{
    char* temp = "text";

    strcpy(&ret, temp);
    return ret;
}

给出这个错误:

warning: passing argument 1 of ‘strcpy’ from incompatible pointer type [enabled by default]
     strcpy(&ret, temp);

我正在尝试将函数内部生成的消息复制到函数外部分配的 char* 数组。

最佳答案

使用

strcpy(*ret, temp);

代替

strcpy(&ret, temp);

您需要尊重 char ** 而不是引用它。

关于将字符串复制到 char**,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33987954/

相关文章:

c - 如何共享现有内存?

c - 如何复制结构?

c++ - 我应该避免在现代 C++ 中引用指针还是在这种特殊情况下可以

c - return 在返回结构时从指针生成整数而不进行强制转换

c - EXC_BAD_ACCESS(代码=1,地址=0x0)

C++:追加到 vector 字符串

strcpy 的 C 实现不改变变量值

c - 如何在 C 中创建模块

c:要 float 的字符串(仅适用于 Libc)?

c - 如何在 C 中使用 java webservice