Форум программистов и сисадминов CyberForum.ru
Вернуться   Форум программистов и сисадминов CyberForum.ru > Форум Форум программистов > Форум .NET > Форум C# .NET
Восстановить пароль Регистрация

Ответ Создать новую тему
 
Старый 06.05.2013, 01:27   #1
ayrat
Форумчанин
 
Регистрация: 24.01.2013
Сообщений: 183
Репутация: 28 (28)
Лучшие ответы: 1
как занулить битовый массив при передаче его в бинарный файл / C# .NET

Код C#
1
2
3
4
5
            BinaryWriter writer = new BinaryWriter(File.Open(fileUrl, FileMode.Create));
 
            byte[] g = new byte[9];
            g = Encoding.Default.GetBytes("king");
            writer.Write(g);
в общем при такой раскладке файл весит 4 байта, а надо чтобы весил девять байтов, то есть последние 5 байтов должны быть null, как это сделать ?
Старый 06.05.2013, 02:08   #2
turbanoff
Форумчанин
 
Аватар для turbanoff
 
Регистрация: 18.05.2010
Сообщений: 6,306
Репутация: 2814 (2549)
Записей в блоге: 9
Лучшие ответы: 94
Записать первые 4 байта, потом записать 5 нулей.
Другие темы раздела Форум программистов C#. Вопросы использования языка программирования C# .NET. Помощь в решении задач.
Передача массива в Oracle в качестве входного параметра хранимой процедуры C#
Доброго времени суток. В Oracle (8i) у меня есть пакет (MyPackage) с процедурой procedure MyProc(in_idset in my_schema.strings_ct) где тип my_schema.strings_ct определен так: create or replace type strings_ct as table of varchar2(4000); В C# у меня есть Datatable, который я хочу...
C# use of unassigned local variable
public Form1() { InitializeComponent(); } int n; int m; private void button1_Click(object sender, EventArgs e) { int a = new int;
Старый 06.05.2013, 03:12  [ТС]   #3
ayrat
Форумчанин
 
Регистрация: 24.01.2013
Сообщений: 183
Репутация: 28 (28)
Лучшие ответы: 1
turbanoff,
а как записать 5 нулей, я пробовал не получается ведь по сути массив байтов по умолчанию нулевой, да и пробовал массив добавить нули в ручную - все равно не выходит

Добавлено через 49 минут
хотя я понял о чем Вы, хорошая мысль, но только одно но нужно присваивать нули в типе byte иначе по умолчанию он посчитает что это int и запишет четыре бита. Но все же я поинтересуюсь есть ли получше метод чтобы ненадо было совершать никаких унылых лишних операций
Старый 06.05.2013, 07:37   #4
turbanoff
Форумчанин
 
Аватар для turbanoff
 
Регистрация: 18.05.2010
Сообщений: 6,306
Репутация: 2814 (2549)
Записей в блоге: 9
Лучшие ответы: 94
Цитата Сообщение от ayrat Посмотреть сообщение
нужно присваивать нули в типе byte иначе по умолчанию он посчитает что это int и запишет четыре бита.
Я не понял о чем вы...

Вот так можно записать пять нулей:
Код C#
1
2
            byte[] g = new byte[5];
            writer.Write(g);
PS. В byte хранится не null, а именно 0.
Старый 06.05.2013, 07:37
Google
Объявления
как занулить битовый массив при передаче его в бинарный файл / C# .NET

Старый 06.05.2013, 08:01   #5
_lunar_
C++ extended
 
Аватар для _lunar_
 
Регистрация: 03.05.2011
Сообщений: 1,829
Репутация: 836 (787)
Лучшие ответы: 22
может?
Код C#
1
byte[] array = { 0x0, 0x0, 0x0, 0x0, 0x0 };
хотя ничем не отличается от предложенного выше варианта.
Старый 06.05.2013, 10:55   #6
Psilon
Master of Orion
 
Аватар для Psilon
 
Регистрация: 10.07.2011
Сообщений: 9,410
Репутация: 3584 (2925)
Записей в блоге: 1
Лучшие ответы: 130
ayrat, символ с кодом 0 это и есть NUL
Старый 06.05.2013, 10:55
Yandex
Объявления
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать новую тему

Похожие темы
Тема Автор
С под Linux Как конвертировать бинарный файл в массив?
Пишу параллельную на программу на CUDA C, в процессе появилась такая задачка: есть бинарный файл, сгенерированный фортрановской программой (в нем записано несколько массивов подряд, сначала double, потом int), а требуется считать этот файл в обыкновенные массивы. Лично я с бинарными файлами никогда...
Max1993
C# для начинающих Запись в бинарный файл, его чтение и редактирование
Здравствуйте, возникла проблема с записью данных в бинарный файл. Есть некая структура, по которой читается файл, эти данные выводятся в dataGridView с возможностью редактирования, и есть сохранение этих изменённых данных. Проблема заключается в том, что при чтении этого сохранённого файла...
daqq
C для начинающих Создать текстовый файл ft и в итоге записать его как бинарный файл fd
Создать текстовый файл ft, содержащий n строк по 2*m целых чисел. Считать числа из файла ft, сформировать два массива размерностью n*m из четный и нечетных столбцов и записать эти массивы в бинарном файле fd. Написать нужно на языке Cи, а не на Си++
soladin
С++ для начинающих Как открыть бинарный файл, не зная его структуру?
Можно ли как-нибудь открыть бинарный файл, не зная его структуру?
.::.DIMA.::.
C# под Web, ASP.NET Как на сервере открыть графический файл получить битовый массив и с помощью Response.BinaryWrite его отдать запрашиваемугу обьекту?
Кто знает как на сервере открыть графический файл получить битовый массив и с помощью Response.BinaryWrite его отдать запрашиваемугу обьекту. <img src='start.asp'></img>
quit
Опции темы

Текущее время: 04:33. Часовой пояс GMT +4.

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.7 PL3
Copyright ©2000 - 2014, vBulletin Solutions, Inc.