--->>>在VB .Net中 我有兴趣以SIMH文件格式编写模拟磁盘文件。基本上ASCII记录使用Tape(FILE)控制字符和二进制记录长度进行封装。我知道这很容易在C / C ++中处理,但我想在VB.Net中实现它
首先,是否有人可以将表控制字符写入数据流以输出到平面文件。
其次,写入SIMH格式的示例。我有一个描述SIMH格式的PDF,所以我正在审查这个规范。
第三,使用BitConverter导出包含封装ASCII记录的二进制磁带标记的流。我相信我可以使用BitConverter来创建二进制文件标记。但是我似乎可以使用BinaryWriter,设置FileStream句柄。如果用BinaryWriter编写二进制磁带控制字符,如何实现一个写入二进制记录长度和ASCII记录的编写器?一个例子是理想的。
SIMH是衍生的DEC磁带格式。
答案 0 :(得分:0)
Dim fs作为FileSystem =没有Dim infile作为String = Path.Combine()fs = FileSystem(infile,FileMode.Create) 使用bw作为BinaryWriter = New BinaryWriter(fs)对于i作为整数= 0 to Headers.Count-1 Dim lengthHeader As Integer = m_headers(i).Length 如果lengthHeader = MAX_HEADER_LENGTH,则 Dim dataArray()为字节= StringtoByteArray(m_headers(i)) bw.Write(lengthHeader) bw.Write(dataArray) bw.Write(lengthHeader) 如果下一个则结束
For i As Integer = 0 To m_myRecs.Count - 1 Dim thisRec As String = m_myRecs(i) Dim lengthRec As Integer = thisRec.Length Dim dataSentinal = (row * 6) + 8 + 2 bw.Write(dataSentinal) Dim dataArray() As byte = StringtoByteArray(m_myRecs(i)) bw.Write(dataArray) bw.Write(dataSentinal) Next bw.Write(-1) fs.Close()