使用& # 39;CreateViewAccessor.Read& # 39;和& # 39;写# 39;

本文关键字:CreateViewAccessor 使用 Read | 更新日期: 2023-09-27 17:52:58

我正试图编写一种十六进制编辑器(用于编辑Playstation 1 ISO),但我不确定如何使用CreateViewAccessor.ReadWrite。具体来说,我不知道第二个参数out T structure该用什么。下面是我到目前为止的代码:

long offset = 0x0064773C;
long length = 0x02;
// Create the memory-mapped file.
using (var mmf =
    MemoryMappedFile.CreateFromFile(strFileName, FileMode.Open, "ISO"))
{
    using (var accessor = mmf.CreateViewAccessor(offset, length))
    {
        for (long i = 0; i < length; i++)
        {
            accessor.Read(i, out ???);
        }
    }
}

我从来没有真正理解过out关键字,所以我不知道该怎么做…

如果有人看到我之前的帖子,我决定使用c#和VS而不是c++和Qt.我知道c#比c++好得多。

使用& # 39;CreateViewAccessor.Read& # 39;和& # 39;写# 39;

Read<>方法用于从映射中读取任何结构。下面是两个等效的示例——一个使用内置的ReadByte方法,另一个使用通用的Read<>方法:

bytes[i] = accessor.ReadByte(i);
accessor.Read<byte>(i, out bytes[i]);

通常,out表示调用方法提供数据作为输出。

相关文章:
  • 没有找到相关文章