C#의 System.IO에서 BinaryReader를 사용하여 이진 파일을 읽습니다. 그러나 ReadString을 사용할 때 첫 번째 바이트는 읽지 않습니다. 여기 코드가 있습니다.C#에서 BinaryReader의 Readstring 첫 번째 바이트를 읽지 않습니다
using (var b = new BinaryReader(File.Open(open.FileName, FileMode.Open)))
{
int version = b.ReadInt32();
int chunkID = b.ReadInt32();
string objname = b.ReadString();
}
는 정말 열심히 일하지가 먼저 두 가지의 int를 읽지 만 objame을 반환하도록되어 문자열 "박쥐"이며, 대신이 "에서"반환합니다.
내가 처음 읽은 두 개의 int와 관련이 있습니까? 아니면 첫 번째 int와 문자열 사이에 null 바이트가없는 것일까 요?
미리 감사드립니다.
첫 번째 문자열이 실제로 4 바이트 길이가되기 전에 확실한가요? 아마도 파일을 쓰는 코드를 게시해야할까요? – BradleyDotNET