gpt4 book ai didi

从函数返回字符串的正确方法

转载 作者:太空狗 更新时间:2023-10-29 16:35:59 24 4
gpt4 key购买 nike

<分区>

我有一个函数,给定两个整数并返回一个字符串。现在我有这个:

char* myfunc( int a, int b, int* len )
{
int retLen = ...
char* ret = malloc( retLen + 1 );

if ( len != NULL )
{
*len = retLen;
}

return ret;
}

但是,C 库中的大多数函数往往更像是:

int myfunc( char* ret, int a, int b )
{
...

return retLen;
}

然后您需要为要填充的函数分配内存。这允许您做更多的事情,比如选择字符串的分配位置。

在这种情况下,虽然函数中需要一些数学运算来获得长度,但没有理由拥有除所需大小以外的任何大小的缓冲区。缓冲区的大小没有上限(无论如何都不是合理的)。

当返回长度是根据输入动态找到的字符串时,什么是好的做法?

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