gpt4 book ai didi

c++ - 将 C++ 集成到 C 基础架构中

转载 作者:太空狗 更新时间:2023-10-29 23:09:25 27 4
gpt4 key购买 nike

C++ 在大多数项目中都非常方便,但有时您只需要与现有的 C 风格函数集成即可。

如何巧妙地做到这一点,尤其是在使用字符串时?

我想到我可以使用这样的结构:

std::string buffer;
buffer.resize(1024);

GetBackCStyleString(&buffer[0], 1024);

但这会导致字符串长度出现问题,因为它会返回调整后的长度。有没有更好的方法将 C 函数集成到 C++ 代码中?

最佳答案

这是一个很好的解决方案。如果希望尺寸准确,在函数返回后再次调用resize即可计算出实际长度。

例如

buffer.resize(GetBackCStyleString(&buffer[0], buffer.size());

如果函数返回长度,或者

GetBackCStyleString(&buffer[0], buffer.size()
buffer.resize(strlen(&buffer[0]));

否则。

关于c++ - 将 C++ 集成到 C 基础架构中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5248776/

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