В существующем типизированном файле, элементами которого являются числа, изменить на заданное число - C#
Формулировка задачи:
Всем привет! Помогите решить задачу, если не трудно конечно! Очень прошу, пожалуйста!
В существующем типизированном файле, элементами которого являются числа, изменить на заданное число:
а) первый элемент;
б) пятый элемент;
в) k-й элемент;
г) последний элемент.
Новое значение вводится с клавиатуры.
+ Не могу понять надо файл создать в или просто указать адрес. В инете нашла как просто удалить текст из файла, а как изменять текст нет.
Решение задачи: «В существующем типизированном файле, элементами которого являются числа, изменить на заданное число»
textual
Листинг программы
- using System;
- using System.IO;
- namespace ConsoleApplication203
- {
- class Program
- {
- static void Main(string[] args)
- {
- var fileName = "c:\\temp.bin";
- //создадим тестовый файл
- using (var fs = new FileStream(fileName, FileMode.Create))
- using (var sw = new BinaryWriter(fs))
- for (int i = 0; i < 10; i++)//запишем в файл числа от 0 до 9
- sw.Write(i);
- //ввод нового значения
- Console.Write("Enter new value: ");
- var newVal = int.Parse(Console.ReadLine());
- //размер элемента файла в байтах
- var elemSize = sizeof (int);
- //изменим первый элемент
- ChangeElement(fileName, elemSize, 0, newVal);
- //изменим пятый элемент
- ChangeElement(fileName, elemSize, 4, newVal);
- //изменим последний элемент
- var fileSize = new FileInfo(fileName).Length;//размер файла в байтах
- var elemCount = (int)fileSize/elemSize;//число элементов в файле
- ChangeElement(fileName, elemSize, elemCount - 1, newVal);//записываем в последнюю позицию
- }
- static void ChangeElement(string fileName, int elementSize, int elementIndex, int newValue)
- {
- using(var fs = new FileStream(fileName, FileMode.Open))
- using (var sw = new BinaryWriter(fs))
- {
- fs.Seek(elementSize*elementIndex, SeekOrigin.Begin);
- sw.Write(newValue);
- }
- }
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д