Форум программистов, компьютерный форум CyberForum.ru Форум программистов | Компьютерный форум | Форум web-программистов | Форум по электронике и бытовой технике | Форум о софте | Научный форум | Карьера и бизнес
CyberForum.ru - форум программистов и сисадминов > Форум Форум программистов > Форум .NET > Форум C# .NET
Восстановить пароль Регистрация

Ответ Создать новую тему
 
06.05.2013, 01:27   #1
ayrat
Форумчанин
Регистрация: 24.01.2013
Сообщений: 183
Репутация: 28 (28)
Лучшие ответы: 1
Код 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, 01:27
AdAgent
Объявления
06.05.2013, 02:08   #2
turbanoff
Модератор
Регистрация: 18.05.2010
Сообщений: 6,657
Репутация: 2960 (2695)
Записей в блоге: 10
Лучшие ответы: 133
Записать первые 4 байта, потом записать 5 нулей.
Другие темы раздела
Передача массива в 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
Модератор
Регистрация: 18.05.2010
Сообщений: 6,657
Репутация: 2960 (2695)
Записей в блоге: 10
Лучшие ответы: 133
Цитата Сообщение от ayrat Посмотреть сообщение
нужно присваивать нули в типе byte иначе по умолчанию он посчитает что это int и запишет четыре бита.
Я не понял о чем вы...

Вот так можно записать пять нулей:
Код C#
1
2
            byte[] g = new byte[5];
            writer.Write(g);
PS. В byte хранится не null, а именно 0.
06.05.2013, 07:37
AdAgent
Объявления
06.05.2013, 08:01   #5
_lunar_
C++ extended
Регистрация: 03.05.2011
Сообщений: 1,911
Репутация: 882 (833)
Лучшие ответы: 29
может?
Код C#
1
byte[] array = { 0x0, 0x0, 0x0, 0x0, 0x0 };
хотя ничем не отличается от предложенного выше варианта.
06.05.2013, 10:55   #6
Psilon
Master of Orion
Регистрация: 10.07.2011
Сообщений: 10,896
Репутация: 4413 (3404)
Записей в блоге: 5
Лучшие ответы: 233
ayrat, символ с кодом 0 это и есть NUL
06.05.2013, 10:55
Yandex
Объявления
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать новую тему

Похожие темы
Тема Раздел Автор Дата
C++ При передаче аргумента в функцию каким из ниже приведенных способов его изменение в функции повлияет на его значение в остальной части программы
1. По указателю 2. По классу 3. По значению 4. По оператору 5. По ссылке
С++ для начинающих kostia-fil 28.02.2014 15:48
C Linux Как конвертировать бинарный файл в массив?
Пишу параллельную на программу на CUDA C, в процессе появилась такая задачка: есть бинарный файл, сгенерированный фортрановской программой (в нем записано несколько массивов подряд, сначала double, потом int), а требуется считать этот файл в обыкновенные массивы. Лично я с бинарными файлами никогда...
С под Linux Max1993 09.03.2013 21:42
C (СИ) Создать текстовый файл ft и в итоге записать его как бинарный файл fd
Создать текстовый файл ft, содержащий n строк по 2*m целых чисел. Считать числа из файла ft, сформировать два массива размерностью n*m из четный и нечетных столбцов и записать эти массивы в бинарном файле fd. Написать нужно на языке Cи, а не на Си++
C для начинающих soladin 05.04.2011 20:36
C++ Как открыть бинарный файл, не зная его структуру?
Можно ли как-нибудь открыть бинарный файл, не зная его структуру?
С++ для начинающих .::.DIMA.::. 27.01.2009 01:44
C# ASP.NET Как на сервере открыть графический файл получить битовый массив и с помощью Response.BinaryWrite его отдать запрашиваемугу обьекту?
Кто знает как на сервере открыть графический файл получить битовый массив и с помощью Response.BinaryWrite его отдать запрашиваемугу обьекту. <img src='start.asp'></img>
C# под Web, ASP.NET quit 11.10.2007 15:52
Опции темы

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

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