文字列パスを使用して XML ファイルを呼び出す C++ プロジェクトに取り組んでいます。C++ をコンパイルすると、すべてが完全に機能し、プロジェクトで必要な XML ファイルを使用できるようになりました。
C# GUI を使用する必要があったため、C++ ファイルからすべての関数を呼び出すラッパーを作成しました。両方のプラットフォーム間でデバッグした後に 1 つの問題が発生します。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;
}
UI.cs
UI.cs では、C++ が使用する文字列型のため、関数 NewReadfile をラッパーから呼び出すことができません。これを解決する方法はありますか?