【发布时间】:2013-08-21 08:23:57
【问题描述】:
我已经广泛搜索了我的问题的答案,但所有解决方案都不可接受、不适用和/或令人困惑。
我需要将C++ 中实现的函数中的字符串返回给C# 中的调用代码。
返回的字符串需要作为参数而不是返回值返回,因为我需要为某些函数传递/返回多个字符串。字符串的长度各不相同,所以我不能只分配一个缓冲区等。
任何帮助将不胜感激。
注意:贾斯汀和/或其他人发布和提到的解决方案不是我用例的解决方案。正如我在问题中所述,在调用 C++ 代码之前我不知道字符串的大小。我无法预先分配一个 StringBuffer 并将其传递给 C++ 代码。
【问题讨论】:
-
请添加函数声明。
-
托管 C++ 还是原生 C++?
-
字符串分配的内存在哪里?由调用者还是被调用者?
-
贾斯汀,接受的答案涉及预分配缓冲区,我说这是不可能的,因为在调用 C++ 缓冲区之前我不知道所需的大小。
标签: c# c++ .net string parameter-passing