【发布时间】:2013-08-12 06:53:35
【问题描述】:
我的代码有问题。我将偏移值放入列表框中,然后读取它并在文件中查找它。我使用以下代码。
Dim bw As New BinaryWriter(File.Open(filename, FileMode.Open, FileAccess.ReadWrite))
Try
For j As Integer = 0 To ListBox2.Items.Count - 1
czytana = ListBox2.Items.Item(j)
tablica = czytana.Split(" ") ' czytana is in format OFFSET: BYTE BYTE, offset is a hex addr
tablica(0) = tablica(0).Replace(":", "") 'I remove : from "OFFSET:"
bw.BaseStream.Seek("&H" + tablica(0), SeekOrigin.Begin) ' in ex. I got tablica(0)=000CFDD6, and I want to get &HCFDD6, but what I get is &H000CFDD6
'some part of code in here which does its job properly
Next j
Catch ex As Exception
MsgBox(ex.Message)
End Try
bw.Close()
问题是:我需要使用 tablica(0) 作为偏移量,使用 tablica(1) 和 tablica(2) 作为字节。我想要做的是打开文件,选择偏移量并用 tablica(2) 替换。 czytana 得到了一个格式 "tablica(0): tablica(1) tablica(2).
有人介意帮忙吗? :)
【问题讨论】:
-
提供堆栈跟踪或描述问题。不幸的是,这个网站没有实现广泛可用的读心机制:-)
-
我的问题很简单:我想将字符串转换为 &H 格式。例如:我得到了tablica(0)=000CFDD6,我想得到&HCFDD6,但是得到的是&H000CFDD6,这会在我稍后尝试覆盖一些字节时造成麻烦。
-
@Cole"Cole9"Johnson 你能看一下这个问题吗?他的问题是它以某种格式获取输入并希望将其转换为正确的格式
-
为避免误解,或许您应该将此问题的标题更改为“Converting to VB.NET hex format”之类的内容。
-
&HCFDD6和&H000CFDD6应该产生完全相同的值。它们都应该产生一个 32 位整数,高 3 个 nybbles 都为 0。
标签: vb.net hex binarywriter