我一直在尝试制作一个测试程序,它将文本框中的一个字节写入另一个文本框中的偏移量。
我一直在尝试这样做:
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"
的位置写入此处:{{ 3}}
答案 0 :(得分: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
。有关十六进制和整数之间转换的更多信息,请参阅this site。
祝你好运!