Шестнадцатеричное значение двоичного файла не изменится при использовании C#

#c# #winforms

Вопрос:

У меня проблема, из-за которой мой код на C# не смог изменить шестнадцатеричное значение в 13-й позиции.

Смотрите скриншот из шестнадцатеричного редактора HxD для получения более подробной информации

Это мой код на C# :

 private void button1_Click(object sender, EventArgs e)
{
    OpenFileDialog openFileDialog = new OpenFileDialog();
    if (openFileDialog.ShowDialog() == System.Windows.Forms.DialogResult.OK)
    {
        string fileName = openFileDialog.FileName;
        textBox1.Text = fileName;
    }
}

private void button2_Click(object sender, EventArgs e)
{
    string fileName = textBox1.Text;
    using (var stream = new FileStream(fileName, FileMode.Open, FileAccess.ReadWrite))
    {
        stream.Position = 13;
        stream.WriteByte(0x00);
    }
}
 

Ответ №1:

у вас есть stream.Position = 13; (13 в десятичной дроби) Ваша фотография указывает на 13 шестнадцатеричных (19 в десятичной системе счисления), поэтому вам понадобится stream.Position = 0x13