-1

我一直在尝试制作一个测试程序,它将文本框中的一个字节写入另一个文本框中的偏移量。

我一直在尝试这样做:

using (BinaryWriter bw = new BinaryWriter(File.OpenWrite(ofd.FileName)))
{
     bw.Seek(toolStripTextBox1.Text, SeekOrigin.Begin);
     bw.Write((byte)textBox1.Text);
}    

toolStripTextBox1包含我要写入的偏移量并textBox1包含我要写入的字节。

假设我输入了toolStripTextBox1 "0xF450B0"and in textBox1 "1052",我希望它把位置写到"0xF450B0"这个: http: //gyazo.com/49afd54dfc54fc15be47a7e08f300960

4

1 回答 1

1

如果始终是用户输入的内容,您可以将偏移量(十六进制)转换为整数。看起来像:

using (BinaryWriter bw = new BinaryWriter(File.OpenWrite(ofd.FileName)))
{
     bw.Seek(Convert.ToInt32(toolStripTextBox1.Text, 16), SeekOrigin.Begin);
     bw.Write((byte)textBox1.Text);
}

只是为了强调 - 如果用户输入的不是十六进制的东西,toolStripTextBox1你会得到一个例外。Int32.TryParse如果这是您需要处理的场景,您可以使用。有关十六进制和整数之间转换的更多信息,请参阅此站点

祝你好运!

于 2014-09-08T19:33:14.910 回答