I'm trying to read float
values from a binary
file,
public static void tmpTest ( )
{
string fileName = @"c:\debug\tmp_1.bin";
/* Write */
using ( BinaryWriter bw = new BinaryWriter ( File.Open( fileName, FileMode.Create ) ))
{
bw.Write ( 10.001f );
bw.Write ( 10.002f );
}
/* Read */
using ( BinaryReader br = new BinaryReader ( File.Open ( fileName, FileMode.Open ) ) )
{
int val_1 = br.Read (); // Output : 25
int val_2 = br.Read (); // Output : 4
}
}
I know that I'm missing something at Read
section, when I read those values I get val_1
as 25
& val_2 as 4
instead of 10(as the return type is integer), please guide me what am I doing wrong here.
Many Thanks in advance.
Have you checked the documentation? There is a ReadSingle method in BinaryReader for that.
float value = binaryReader.ReadSingle();
You need to read a Single not an Int. If you need an int you can do a cast (int).
MSDN Example
binaryReader.ReadSingle();
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With