我從vC++ DLL導出函數寫入二進制文件。在C++代碼文件被打開使用C#和C++之間的文件打開模式不一致
FILE* fp = ::_tfopen (FilePath, _T("a+b"));
我一個使用"a+b"
模式追加文件以後和b是二進制模式。
現在我在我的C#應用程序中導入這個函數。當我用正確的參數從C#中調用此函數時,文件將被寫入,但不會以附加模式。我的意思是該函數打開文件,但似乎並不追加到它的內容,而是破壞它的內容,然後寫任何我的C#參數。
平臺是VS2005。請幫忙嗎? -
感謝 Viren
從評論
[DllImport("NameOfTheDLL.dll", CharSet = CharSet.Ansi)]
public static extern int function_name(IntPtr ptr,
[MarshalAs(UnmanagedType.LPWStr)] string FilePath);
以下是調用該函數的輸入:
IntPtr ptr = some_Init_function();
function_name(handle, "C:\\FileName");
Viren,請找到編輯按鈕,添加/更正您的問題,而不是在評論中添加大量代碼。 – 2009-08-04 14:45:37