Я экспортирую функцию из vc ++ DLL для записи в двоичный файл. В коде 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");