У меня 2 приложения.Один в C ++ (windows) открывает двоичный файл и читает только из него, я использую:
fstream m_fsDataIN.open("C:\TTT", ios::in | ios::binary | ios::app);
, а второе приложение (в C #) открывает файл и записывает в него.Я использую:
byte[] b = ... //have a binary data
System.IO.BinaryWriter bw = new System.IO.BinaryWriter(
System.IO.File.Open(@"C:\TTT",
System.IO.FileMode.Append,
System.IO.FileAccess.Write,
System.IO.FileShare.ReadWrite));
bw.Write(b);
bw.Flush();
bw.Close();
Проблема в том, что 8 первых байтов записаны неправильно, по сравнению с тем, что появляется в массиве b
.
Когда я открываю файл в приложении C #, используя System.IO.FileMode.Append
, он работает нормально.
Я проверил в приложении и записал неверные 8 байтов.
Я хочу добавить, что первые 8 байтов - это 2 счетчика, каждый из которых был создан с использованиемIPAddressHostToNetworkAddress
.
Я думаю, что проблема в приложении C ++, в том, как я открываю файл.
Справка, Thnaks