Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 1
Регистрация: 27.10.2012
Сообщений: 93
1

Запись двочного файла

27.04.2013, 21:44. Показов 813. Ответов 10
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте! У меня такой вопрос. Есть двоичный файл в формате txt, состоящий из нескольких целых чисел. Создала поток, который читает с помощью цикла эти числа и записывая их в переменную e, которая в свою очередь заносится в другой двоичный файл. Записывать аналогичные числа я научилась, а теперь мне нужно при определённом условии отбирать эти числа(например только чётные). Но просто так эта переменная e не используется, вернее она содержит в себе тип ... не целочисленный(вроде бы long)... Подскажите пожалуйста, как... вытащить тот тип чисел что я вижу когда открываю созданный файл в текстовом редакторе... вот программа...

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
using System;
using System.IO;
namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
 
            Console.WriteLine("Введите количество целых чисел");
            int n = Convert.ToInt32(Console.ReadLine());
            
            BinaryWriter fout = new BinaryWriter(new FileStream(@"D:\df\11.txt", FileMode.Create));
        
          
            Random rand = new Random();
            
            for (int i = 0; i < n; i++)
            {
              fout.Write(rand.Next(100)+"\t");
            }
            
            fout.Close();
            
 
            FileStream f = new FileStream(@"D:\df\11.txt", FileMode.Open);
            BinaryReader inBin = new BinaryReader(f);
            
            FileStream t = new FileStream(@"D:\df\22.txt", FileMode.Create);
            BinaryWriter outBin = new BinaryWriter(t);
 
            try
            {
                for (int u = 0; u < n; u++)
                {
                    
                    int e = inBin.ReadInt32();
 
 
 
                    
 
                    
                    Console.WriteLine(e);
                   
                    outBin.Write(e);
                
                }
 
 
                 
            }
            catch (EndOfStreamException e) { }
            Console.ReadKey();    
        }
    }
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.04.2013, 21:44
Ответы с готовыми решениями:

Сортировка вектора по количеству единиц двочного представления каждого элемента
Здравствуйте, есть программа не могу найти в ней ошибку, выдает результат ошибки -1. Программа...

Ввод с клавиатуры и запись в файл, чтение из файла и запись в массив, вывод из массива на экран
1.Ввод с клавиатуры и запись в файл, чтение из файла и запись в массив, вывод из массива на экран...

Запись чисел из файла 1, и запись в файл 2 в отсортированном виде
Задание: Есть файл 1, в нем находятся числа, нужно их отсортировать по возрастанию и записать в...

Запись и чтение *.txt файла - запись частичная
Доброе время суток! Помогите решить проблемку. У меня либо не полностью считывается файл, либо не...

10
740 / 284 / 83
Регистрация: 12.12.2012
Сообщений: 565
27.04.2013, 22:28 2
Как-то вы всё сумбурно описываете.
Цитата Сообщение от Елена77 Посмотреть сообщение
просто так эта переменная e не используется, вернее она содержит в себе тип ... не целочисленный(вроде бы long)...
Если вы пишете в файл int, то int-ом он и останется. Компьютер - это не шляпа фокусника, куда он бросает носовые платки, а достаёт оттуда кроликов.
Можно узнать назначение "\t" строке №20?
И напишите оригинал вашего задания, ибо в вашем пересказе я потерялся.
2
0 / 0 / 1
Регистрация: 27.10.2012
Сообщений: 93
27.04.2013, 22:49  [ТС] 3
Вот задание: Заполнить файл f целыми числами, полученными с помощью генератора случайных чисел. Получить в файле g те компоненты файла f, которые являются четными. А "/t" это разделитель между числами, как я полагаю... в интернете был такой пример. Спасибо за отклик!
0
740 / 284 / 83
Регистрация: 12.12.2012
Сообщений: 565
27.04.2013, 23:09 4
Цитата Сообщение от Елена77 Посмотреть сообщение
Спасибо за отклик!
Пока ещё не за что.
Для начала уберите это "\t". И запустите программу.

Добавлено через 6 минут
Замените строки 44, 46 на
C#
1
2
3
4
5
if (e % 2 == 0)
  {
      outBin.Write(e);
      Console.WriteLine(e);
  }
Добавлено через 3 минуты
У меня работает как надо. Жду вашего результата.

Добавлено через 5 минут
Ой нет. Вроде не как надо.
1
0 / 0 / 1
Регистрация: 27.10.2012
Сообщений: 93
27.04.2013, 23:14  [ТС] 5
Убрала, запустила, теперь в консоли выводятся нормальные числа до 100 из ГСЧ, а... создающиеся файлы содержат нечитаемые символы-видимо это и правильно.
0
740 / 284 / 83
Регистрация: 12.12.2012
Сообщений: 565
27.04.2013, 23:20 6
Цитата Сообщение от Елена77 Посмотреть сообщение
нечитаемые символы-видимо это и правильно.
Конечно, вы ведь не с текстовым представление работаете.
Только Посмотрите на файл 22.txt в проводнике Windows. У меня он имеет размер 0. Это значит, что в него ничего не записалось. А что у вас?

Добавлено через 3 минуты
Хм, а сейчас он уже не пуст. Правда я колдовал тут пока.
1
0 / 0 / 1
Регистрация: 27.10.2012
Сообщений: 93
27.04.2013, 23:25  [ТС] 7
Что-то прояснилось! Буду разбираться дальше... Возможно даже что задача решена. СПАСИБО!

Добавлено через 2 минуты
Да, у меня он тоже не пустой. А как вы проверяете что записано? По выводу на консоль?....
0
740 / 284 / 83
Регистрация: 12.12.2012
Сообщений: 565
27.04.2013, 23:30 8
Теперь. Вообще говоря, расширение txt применяется к текстовым файлам. В вашем случае будет уместно, например, расширение .dat
По поводу бинарных потоков. Настоятельно советую прочесть Шилдта "C# 4.0 Полное руководство" (во всяком случае у меня такое название), главу 14 "Применение средств ввода-вывода". Тогда многое прояснится, и не станете добавлять "\t", потому, что увидели это в чужом примере.

Добавлено через 4 минуты
Цитата Сообщение от Елена77 Посмотреть сообщение
По выводу на консоль?....
Ну да. Бинарные файлы бесполезно читать блокнотом. (Во всяком случае на вашем уровне.)
Цитирую (не Шилдта):
"Двоичные файлы хранят данные в том же виде, в котором они представлены в оперативной памяти, то есть во внутреннем представлении. Двоичные файлы не применяются для просмотра человеком, они используются только для программной обработки."

Чтобы убедиться, что выходной файл содержит именно то, что вам нужно его нужно опять прочитать программой, так же как вы читаете файл 11.txt
1
0 / 0 / 1
Регистрация: 27.10.2012
Сообщений: 93
27.04.2013, 23:41  [ТС] 9
СПАСИБО ОГРОМНОЕ!
0
740 / 284 / 83
Регистрация: 12.12.2012
Сообщений: 565
27.04.2013, 23:47 10
Не за что.
0
Master of Orion
Эксперт .NET
6098 / 4954 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
28.04.2013, 07:19 11

Не по теме:

Цитата Сообщение от memphis Посмотреть сообщение
Компьютер - это не шляпа фокусника, куда он бросает носовые платки, а достаёт оттуда кроликов.
в мемориз! :DD



Теперь. Вообще говоря, расширение txt применяется к текстовым файлам. В вашем случае будет уместно, например, расширение .dat
А я по-старинке использовал .bin

Добавлено через 1 минуту
Елена77, на самом деле, можете любой формат придумать, хоть .elena77format (хотя ОС плохо жуют длинные строки расширения), представление данных от этого не меняется.
0
28.04.2013, 07:19
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.04.2013, 07:19
Помогаю со студенческими работами здесь

Запись в 2 файла, сравнение и запись в 3-ий файл
Нуждаюсь в помощи с программами, написаны, вот надо готовить отчеты, но проблема в том, что у нас...

Запись содержимого txt-файла на новый лист xlsx-файла
Добрый день, прошу помощи, или совета где поискать нужную инфу. Есть txt-файл, которые генерирует...

Запись звукового файла поверх существующего mp3 файла
Привет всем. Ситуация интересная. Есть около 3000 mp3 файлов. Есть записан файл, звук из которого...

Запись данных, получаемых при обработке заданного файла, в текстовый файл с именем обрабатываемого файла
Пожалуйста помогите не разбирающемуся в бейсике имеется скрипт vbs ссылающийся на exe файл который...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru