Работа с двоичными файлами - C#
Формулировка задачи:
Создать файл и записать в него вещественные числа из диапазона от a до b с шагом h.
Дана последовательность из n вещественных чисел. Записать все эти числа в файл. Вывести на экран все компоненты файла с четными номерами, меньшие заданного числа.
Выводит слишком много лишнего мне кажется, должен выводить только до указанного значения, в чём ошибка?
using System;
using System.Text;
using System.IO;
namespace MyProgram
{
class Program
{
static void Main()
{
Console.Write("a= ");
double a = double.Parse(Console.ReadLine());
Console.Write("b= ");
double b = double.Parse(Console.ReadLine());
Console.Write("h= ");
double h = double.Parse(Console.ReadLine());
Console.Write("заданное число= ");
double q = double.Parse(Console.ReadLine());
//Записываем в файл text.txt вещественные числа из заданного диапазона
FileStream f = new FileStream("text.txt", FileMode.Open);
BinaryWriter fOut = new BinaryWriter(f);
for (double i = a; i <= b; i += h)
{
fOut.Write(i); ;
}
fOut.Close();
//Объекты f и fIn связаны с одним и тем же файлом
f = new FileStream("text.txt", FileMode.Open);
BinaryReader fIn = new BinaryReader(f);
long m = f.Length; //определяем количество байт в потоке
//Читаем данные из файла text.txt начиная с элемента с номером 1, т.е с 8 байта,
//перемещая внутренний указатель на 16 байт, т.е. на два вещественных числа
for (long i = 8; i < m; )
{
if (fIn.ReadDouble() < q)
{
f.Seek(2 * i, SeekOrigin.Begin);
a = fIn.ReadDouble();
Console.Write("{0:f2} ", a);
i += 8;
}
}
fIn.Close();
f.Close();
Console.ReadKey();
}
}
}Решение задачи: «Работа с двоичными файлами»
textual
Листинг программы
FileStream f = new FileStream(@"e:\text.txt", FileMode.Create);