C# 代码到 C++(内存映射文件)
本文关键字:映射 文件 内存 代码 C++ | 更新日期: 2023-09-27 18:31:07
这是我的C#应用程序中的方法。我需要将此代码转换为 c++
MemoryMappedFile myNonPersisterMemoryMappedFile = MemoryMappedFile.CreateNew("myNonPersisterMemoryMappedFile", 10000000);
public static void send_data(byte[] b)
{
var bytes = Encoding.ASCII.GetBytes(b.Length.ToString());
byte[] f = new byte[b.Length + 1 + bytes.Length];
f[0] = (byte)bytes.Length;
Array.Copy(bytes, 0, f, 1, bytes.Length);
Array.Copy(b, 0, f, 1 + bytes.Length, b.Length);
BinaryWriter bw = new BinaryWriter(myNonPersisterMemoryMappedFile.CreateViewStream(0, 10000000));
bw.Write(f, 0, f.Length);
bw.Close();
}
从一种语言直接音译到另一种语言是一个坏主意。
相反:
- 了解代码的作用并制定其合同。
- 用目标语言设计正确的界面。
- 以目标语言实现它。
这样做,如果您有任何具体问题,请回来。
System::String^ str = rgbValues->Length.ToString();
array<Byte>^ one =System::Text::Encoding::ASCII->GetBytes(str);
array<Byte>^ all = gcnew array<Byte>(one->Length + 1 + rgbValues->Length);
all[0] = one->Length;
System::Array::Copy(one, 0, all, 1, one->Length);
System::Array::Copy(rgbValues, 0, all, (1 + one->Length), rgbValues->Length);