Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
0 / 0 / 0
Регистрация: 04.10.2013
Сообщений: 36
1

Работа с файлом - вставка, замена

04.10.2013, 16:20. Показов 844. Ответов 7
Метки нет (Все метки)

Доброго времени суток!
Помогите начинающему)))
Задание в следующем: необходимо открыть файл. Представить его байты в виде HEX, затем, допустим, в его первой строке найти байт (значение 03) и заменить его на байт 02. В начало третьей строки вставить байт, пусть 00, и те два байта, что следуют за ним заменить на два байта, которые ввел пользователь(ввел в textbox).
Заранее благодарю за внимание, обзываться и отсылать к гуглу не нужно)))
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.10.2013, 16:20
Ответы с готовыми решениями:

Работа со строками: замена, вставка и удаление
Создать строковую str3 переменную содержащую текст: aabbccddeeffgghhkkmmllxxyywweerrss. В строке...

Работа с файлом
Добрый Вечер! Уважаемые!! У меня проблема: У меня есть массив string который берёт все значения из...

c#/с++ работа с файлом
уважаемые программисты, помогите пожалуйста,подскажите как такая работа с файлом будет выглядеть на...

Работа с файлом
Файл f заполнить 300 случайными целыми числами. Записать в файл g все компоненты файла f, которые...

7
191 / 191 / 29
Регистрация: 03.12.2009
Сообщений: 853
04.10.2013, 16:25 2
Что не понятно?
0
0 / 0 / 0
Регистрация: 04.10.2013
Сообщений: 36
04.10.2013, 16:59  [ТС] 3
Не понятно какими функциями оперировать при работе с байтами вида Hex. Хотелось бы увидеть функции с пояснениями к каждому этапу алгоритма
0
0 / 0 / 0
Регистрация: 04.10.2013
Сообщений: 36
05.10.2013, 20:55  [ТС] 4
Здравствуйте ещё раз, почитал - разобрался)))
Теперь уж точно нужна ваша помощь.
Как вставить байт в файл по определенному смещению?
C#
1
2
Fs.Position=0x000C;
Fs.WriteByte(2);
Данный код переписывает <старый> байт на мой, в данном случае 2. А как именно записать 2 в нужное место и сместить оставшиеся байты на 1 байт. Спасибо!
0
Master of Orion
Эксперт .NET
6087 / 4943 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
05.10.2013, 22:08 5
Virtex34,
  1. скопировать все байты, начиная с определенной позиции в массив
  2. записать нужный байт в нужную позицию
  3. записать после него все скопированные на шаге 1 байты
1
0 / 0 / 0
Регистрация: 04.10.2013
Сообщений: 36
05.10.2013, 22:13  [ТС] 6
А попроще нельзя? А если файл огромный!?
0
Master of Orion
Эксперт .NET
6087 / 4943 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
05.10.2013, 22:18 7
Virtex34, нельзя. Файл это массив байт. Как вы что-то можете дописать в середину массива, не меняя размера??
0
0 / 0 / 0
Регистрация: 04.10.2013
Сообщений: 36
07.10.2013, 01:59  [ТС] 8
Что то я запутался...нужно добавить элемент, пользуясь вышеописанным алгоритмом
C#
1
2
3
4
5
6
7
8
9
10
11
//нужно вставить байт на 17 место
byte[] keyf = new byte[fs.Lenght-16];
fs.Seek(16,SeekOrigin.Begin);
fs.Read(keyf,0,fs.Lenght-16);//считываю в буффер все, что после 16-го байта
//теперь записывают в другой буффер первые 16, изменяя 17 на нужный мне
byte[] keyb = new byte[17];
fs.Seek(0,SeekOrigin.Begin);
fs.Read(keyb,0,17);
fs.Position=10;
fs.WriteByte(0);
fs.Dispose();
Подскажите, пожалуйста, как теперь объединить их?

Добавлено через 14 часов 54 минуты
Как из textboxa, состоящим из 4-х чисел, вытащить 2 числа, при том чтоб они были в hex?
Пример: в textbox вводим 3450
Должны получится 34 и 50 (в hex)
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.10.2013, 01:59

Работа с файлом
Здравствуйте, у меня есть List&lt;News&gt; News (список новостей, у новостей есть свойства: Id, Message)....

Работа с файлом txt
Вопрос следующий. Есть файл тхт 25 Гб, нужно считать все строки. Но все зразу оперативка не...

Работа с текстовым файлом
записываю через StreamWriter данные в текстовый файл (одно слово в каждую строчку) как сделать так...

работа с XML файлом
хочу написать анализатор XML для загрузки вопросов. &lt;Questions&gt; &lt;Question&gt; &lt;quest...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

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