我正在开发一个使用字符串路径调用 XML 文件的 c++ 项目。当我编译 c++ 时,一切正常,我可以根据项目需要使用 XML 文件。
我需要使用 C# GUI,所以我制作了一个包装器来从我的 C++ 文件中调用我的所有函数。在两个平台之间调试后出现一个问题,c#无法识别调用我的文件的字符串路径,我得到的错误是它找不到给定的路径。有谁知道如何在两个平台之间发送有效的字符串路径?
在此先感谢,卡罗莱纳
int ClassUnmanaged::ReadFile(string path_to_file)
{
int status = XMLClass->ReadConfigFile(path_to_file);
if(status)
{
return status; //Error
}
else
{
return 0;
}
}
C++ 类的 Wrapper.h
public __gc class Wrapper
{
public: Wrapper(void);
public: ~Wrapper(void);
/** Unmanaged pointer to Class Unmanaged API
*
*/
private: ClassUnmanaged__nogc* pointerUnmanaged;
public: int NewReadfile(string path_to_file);
}
包装器.cpp
int Wrapper::NewReadFile(string path)
{
pointerUnmanaged->ReadFile(path);//here i access to my class unmanaged
return 0;
}
用户界面.cs
在 UI.cs 中,由于 c++ 使用的字符串类型,我无法从包装器中调用函数 NewReadfile。知道如何解决这个问题吗?