【问题标题】:BinaryWriter write bytes from TextBoxBinaryWriter 从 TextBox 写入字节
【发布时间】:2014-09-08 19:29:48
【问题描述】:

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

我一直在尝试这样做:

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

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

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

【问题讨论】:

  • 这是一次黑客攻击吗?
  • 不,不是黑客尝试,因为我不黑客。我想把十六进制的数据写入ROM,如果你不知道ROM是什么,你最好在google中搜索。

标签: c# binarywriter


【解决方案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。有关十六进制和整数之间转换的更多信息,请参阅this site

祝你好运!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-07-13
    • 1970-01-01
    • 2020-11-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多