Is there any simple way to read a null terminated string from a binary file? The problem I have is retrieving the array of bytes making up the string.
The string itself can be variable length.
The method I'm using at the moment is to scan each byte in the file from the current position until I find the NULL character, then skipping back to where the string started, and reading the array of bytes...
Code:'This example actually just reads a string that would be at the beginning of the file Dim BR As System.IO.BinaryReader BR = New System.IO.BinaryReader(System.IO.File.OpenRead("d:\temp\test.dmt") Dim SWA As Boolean = False Dim HeaderSize As Integer Dim NextChar As Integer Do While SWA = False NextChar = BR.Read() If NextChar = 0 Then HeaderSize += 1 SWA = True Else BR.Read() HeaderSize += 1 If HeaderSize = 256 Then SWA = True End If Loop BR.BaseStream.Seek(0, IO.SeekOrigin.Begin) Dim NTS() As Byte = BR.ReadBytes(HeaderSize) Dim Encoder As New System.Text.ASCIIEncoding() Dim mHeaderString As String = Encoder.GetString(NTS)


Reply With Quote