gpt4 book ai didi

c - 处理返回的 C 字符串

转载 作者:太空狗 更新时间:2023-10-29 17:01:55 26 4
gpt4 key购买 nike

在 C 中编写返回字符串的方法时,什么被认为是更好的做法?

传入缓冲区和大小:

void example_m_a(type_a a,char * buff,size_t buff_size)

或者制作并返回一个适当大小的字符串:

char * example_m_b(type_a a)

附言您如何看待返回缓冲区 ptr 以允许赋值样式和嵌套函数调用即

char * example_m_a(type_a a,char * buff,size_t buff_size)
{
...
return buff;
}

最佳答案

将缓冲区作为参数传递可以解决此类代码可能遇到的大多数问题。

如果它返回一个指向缓冲区的指针,那么您需要决定它是如何分配的,以及调用者是否负责释放它。该函数可以返回一个不需要释放的静态指针,但它不是线程安全的。

关于c - 处理返回的 C 字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5892886/

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