相当于c#中的read

本文关键字:read 中的 相当于 | 更新日期: 2023-09-27 18:18:43

我正在将一些c++代码转换为c#的过程中,我正试图找出如何在我的c#应用程序中编写和遵循c++代码,并让它做同样的事情:

fread(&Start, 1, 4, ReadMunge); //Read File position

我已经尝试了多种方法,如使用FileStream:

        using (FileStream fs = File.OpenRead("File-0027.AFS"))
        {
            //Read amount of files from offset 4
            fs.Seek(4, SeekOrigin.Begin);
            FileAmount = fs.ReadByte();
            string strNumber = Convert.ToString(FileAmount);
            fileamountStatus.Text = strNumber;
            //Seek to beginning of LBA table
            fs.Seek(8, SeekOrigin.Begin);
            CurrentOffset = fs.Position;
            int numBytesRead = 0;
            while (Loop < FileAmount) //We want this to loop till it reachs our FileAmount number
            {
                Loop = Loop + 1;
                //fread(&Start, 1, 4, ReadMunge); //Read File position
                //Start = fs.ReadByte();
                //Size = fs.ReadByte();
                CurrentOffset = fs.Position;
                int CurrentOffsetINT = unchecked((int)CurrentOffset);
                //Start = fs.Read(bytes,0, 4);
                Start = fs.Read(bytes, CurrentOffsetINT, 4);
                Size = fs.Read(bytes, CurrentOffsetINT, 4);

                Start = fs.ReadByte();

            }
        }

我一直遇到的问题是,Start/Size不持有我需要的4字节的数据。

相当于c#中的read

如果您正在读取二进制文件,您可能应该考虑使用BinaryReader。这样你就不用担心把字节数组转换成整数之类的。例如,您可以简单地调用reader.ReadInt32来读取int。