gpt4 book ai didi

将 char 与 char * 连接起来

转载 作者:太空宇宙 更新时间:2023-11-04 06:39:31 25 4
gpt4 key购买 nike

我正在尝试编写一个函数,它将获取 char,然后生成分配在堆中的 char*。我怎样才能做到这一点 ?注意:下面的代码不起作用,你能帮忙修复吗

Ex:

char* foo ( char x, char * xc ) {


xc = realloc ( xc, 1 + strlen ( xc ) ) ;
strcat ( xc, x ) ;

return xc ;
}

p = heap variable
foo ( 'a', NULL ) ==> ------------
| 'a'| '\0'|
------------

foo ( 'b', p ) ===> --------------------
| 'a' | 'b' | '\0' |
--------------------

foo ( 'c', p ) ===> --------------------------
| 'a' | 'b' | 'c' | '\0' |
--------------------------

最佳答案

NULL 不是字符串,因此您不能对其调用 strlen

size_t len = xc != NULL ? strlen(xc) : 0;
xc = realloc(xc, len + 1 + 1);
xc[len] = c;
xc[len + 1] = '\0';

关于将 char 与 char * 连接起来,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10443871/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com