我制作了这个包含列表视图的 exe,因此当我打开二进制文件时,它会在一列中显示文本指针,在另一列中显示文本字符串。
我设法使用“for循环”显示指针,但我不知道如何使用循环显示文本字符串,所以我想使用的是循环指针,显示它指向的文本到,并在每个文本之后停止在 00 00。
这是二进制文件结构的示例。
二进制文件的前 4 个字节是指针/字符串量,接下来的 4 个字节 * 第 1 个 4 个字节是指针,其余的是文本字符串,每个字符串由 00 00 分隔,都是 Unicode。
那么任何人都可以帮助我如何在字符串列中显示每个指针的字符串吗?
编辑:这是打开二进制文件的按钮的代码:
private void menuItem8_Click(object sender, EventArgs e)
{
textBox1.Text = "";
OpenFileDialog ofd = new OpenFileDialog();
ofd.Title = "Open File";
ofd.Filter = "Data Files (*.dat)|*.dat|All Files (*.*)|*.*";
if (ofd.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
MessageBox.Show("File opened Succesfully!", "Info", MessageBoxButtons.OK, MessageBoxIcon.Information);
path = ofd.FileName;
BinaryReader br = new BinaryReader(File.OpenRead(path));
int num_pointers = br.ReadInt32();
textBox1.Text = num_pointers.ToString();
for (int i = 0; i < num_pointers; i++)
{
br.BaseStream.Position = i * 4 + 4;
listView1.Items.Add(br.ReadUInt32().ToString("X"));
}
br.Close();
br = null;
}
ofd.Dispose();
ofd = null;
}