Добавление записи в конец файла - C#
Формулировка задачи:
Короче, препод дал контрольную (далее все, что было на листочке): "Тип файл(число полей, число записей), Операция - добавление записи в конец.".
Здесь нужно использовать структуру, в которой есть поля "число полей" и "число записей" и у структуры должен быть метод, который добавляет в файл запись в конец. Файл нужно сначала прочитать, а потом добавить в конец запись, при всем этом необходимо спросить у пользователя число полей и число записей и как то использовать эту информацию. Не могу толком понять, что от меня хочет препод(ему уже 80 лет, он как будто общается на другом языке). Пожалуйста, подскажите как это реализовать.
Решение задачи: «Добавление записи в конец файла»
textual
Листинг программы
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.IO; namespace kontrolnaya1._3 { class Program { public struct file { public int chisloPoley; public int chisloZapisey; public void ZapisVfile() { FileStream aFile; StreamWriter sw; aFile = new FileStream("file.txt", FileMode.Append); sw = new StreamWriter(aFile); for (int i = 0; i < chisloPoley; i++) { Console.WriteLine("Введите значение для поля номер {0}",i+1); string znachenie = Console.ReadLine(); sw.Write("{0}|", znachenie); } sw.WriteLine(" "); sw.Close(); chisloZapisey++; } } static void Main(string[] args) { FileStream aFile; StreamReader sr; file zapis; Console.WriteLine("Введите число полей"); zapis.chisloPoley = Convert.ToInt32(Console.ReadLine()); Console.WriteLine("Введите число записей"); zapis.chisloZapisey = Convert.ToInt32(Console.ReadLine()); string[,] polya = new string[zapis.chisloZapisey+20, zapis.chisloPoley]; string lin; char[] separator = new char[] { '|' }; aFile = new FileStream("file.txt", FileMode.Open); sr = new StreamReader(aFile); for (int i = 0; i < zapis.chisloZapisey; i++ ) { lin = sr.ReadLine(); string[] slov = lin.Split(separator); for (int j = 0; j < zapis.chisloPoley; j++) { polya[i, j] = slov[j]; } } sr.Close(); Console.WriteLine("Прочитанный файл имеет вид:"); for (int i = 0; i < zapis.chisloZapisey; i++) { for (int j = 0; j < zapis.chisloPoley; j++) { Console.Write(Convert.ToString(polya[i, j]) + " "); } Console.WriteLine(""); } Console.WriteLine("Добавьте в файл новую запись:"); zapis.ZapisVfile(); Console.WriteLine("Запись добавлена, текущее число записей: {0} ", zapis.chisloZapisey); /////////////////////////////////////////////считываем файл с добавленной записью aFile = new FileStream("file.txt", FileMode.Open); sr = new StreamReader(aFile); for (int i = 0; i < zapis.chisloZapisey; i++) { lin = sr.ReadLine(); string[] slov = lin.Split(separator); for (int j = 0; j < zapis.chisloPoley; j++) { polya[i, j] = slov[j]; } } sr.Close(); Console.WriteLine("Теперь файл имеет вид:"); for (int i = 0; i < zapis.chisloZapisey; i++) { for (int j = 0; j < zapis.chisloPoley; j++) { Console.Write(Convert.ToString(polya[i, j]) + " "); } Console.WriteLine(""); } Console.ReadKey(); } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д