Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.01.2014, 22:39   #1
Nekit9401
Пользователь
 
Аватар для Nekit9401
 
Регистрация: 11.12.2012
Сообщений: 56
Восклицание Работа с файлом (С#)

Дана задача:

Цитата:
На одном из дисков находится двоичный файл с именем Test.bin в котором хранятся векторы с вещественными координатами. Вначале записана длина (тип int) вектора, затем его координаты.

Создать класс с именем Application с методами FromFile() и Main().

Метод FromFile() получает полный путь к файлу Test.bin, номер вектора и читает его первую координату.

В методе Main() с клавиатуры вводится полный путь к файлу Test.bin и с помощью метода FromFile() читается первая координата первого вектора.
Есть решение этой задачи:

Код:
class Application
{
    static public double FromFile(string S, int N)
    {
        string path = S;
        FileStream fs = new FileStream(path, FileMode.Open); 
        int n = N, m = 0; 
        double k = 0; 
        BinaryReader br = new BinaryReader(fs);
        for (int i = 0; i <= n; i++)
        {
            m = br.ReadInt32();
            if (i == n)
                break;
            else fs.Seek(m * sizeof(double), SeekOrigin.Current);
        }
        for (int i = 0; i <= 1; i++)
            k = br.ReadDouble();
        return k;
    }

    static public void Main()
    {
        string path = Console.ReadLine();
        double k = FromFile(path, 1);
        Console.WriteLine(k);
    }
}
Помогите разобраться в данном решении, не совсем знаком с темой работы с файлами, поэтому возникают некоторые затруднения. А именно не могу понять операции проводимые с переменной m, что именно выполняется в этом коде?
Код:
m = br.ReadInt32();
Так же не понятен этот момент
Код:
fs.Seek(m * sizeof(double), SeekOrigin.Current);
Не могли бы вы поподробней и доступно объяснить мне, эти моменты и вообще по возможности описать все шаги данной задачи?
Nekit9401 вне форума Ответить с цитированием
Старый 19.01.2014, 02:36   #2
Nekit9401
Пользователь
 
Аватар для Nekit9401
 
Регистрация: 11.12.2012
Сообщений: 56
По умолчанию

Может кто нибудь помочь?
Nekit9401 вне форума Ответить с цитированием
Старый 19.01.2014, 09:28   #3
Streletz
Старожил
 
Регистрация: 03.01.2014
Сообщений: 2,870
Лампочка

Цитата:
Код:
m = br.ReadInt32();
Считывает 32-разрядное целое число из входного потока.
Цитата:
Код:
fs.Seek(m * sizeof(double), SeekOrigin.Current);
В помощь: FileStream.Seek - метод
Streletz вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
работа с файлом на c# alexander1994 C# (си шарп) 1 24.10.2012 19:57
Работа С Файлом Sneidi Общие вопросы C/C++ 1 09.06.2012 00:46
Работа с файлом Leoman Помощь студентам 0 02.04.2010 21:57
работа с файлом Андрей.12 Помощь студентам 1 15.02.2010 01:35
Работа с файлом SVadiks Помощь студентам 3 08.12.2009 17:46