簡體   English   中英

將元帥C ++字符串向量轉換為C#

[英]Marshal C++ string vector to C#

我如何將C ++ std::vector<std::string>到C#代碼? 我的方法聲明(C ++端)當前如下所示:

__declspec(dllexport) std::vector<std::string> __cdecl Initialize(std::vector<std::string> array = {})

但是我不知道如何獲取vector或如何將其發送到C ++。

任何幫助是極大的贊賞。

封送字符串vector並非易事。

您可以考慮使用C ++ / CLI在C ++和C#之間構建橋接層。

如果您不想使用C ++ / CLI,則有效的替代方法是使用SAFEARRAY 您可以使用ATL::CComSafeArray簡化C ++中的安全數組編程。

您可能會在MSDN Magazine上發現有關安全陣列的這篇文章很有幫助。

您還應該注意字符串編碼。 如果您對std::string使用UTF-8,那么對於SAFEARRAY(BSTR)或.NET String類,應將其轉換為UTF-16。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM