Ошибка чтения int из файла через StreamReader.Read() - C#
Формулировка задачи:
Неправильно и как-то непонятно считуются данные с текстового файла.
Файл:
3
10
1 1 1 1 1 1 1 1 1 1
10
9 8 7 6 5 4 3 2 1 0
10
2 1 2 1 2 1 2 1 2 1
Код програмы:
Выдача на екран:
Тоесть, комманда ReadLine() работает нормально, а c Read() происходят странности.
Это у меня со студиет что-то не в порядке или я пропустил что-то важное?
FileStream f1 = new FileStream("TASK2.DAT", FileMode.Open); FileStream f2 = new FileStream("TASK2.REZ", FileMode.Create); StreamReader dat = new StreamReader(f1); StreamWriter rez = new StreamWriter(f2); int k = Convert.ToInt32(dat.ReadLine()); Console.WriteLine(k); for (int i = 1; i <= k; i++) { int n = Convert.ToInt32(dat.ReadLine()); Console.WriteLine(n); int[] a = new int [n]; for (int j = 1; j <= n; j++) { a[j - 1] = Convert.ToInt32(dat.Read()); Console.Write(a[j - 1] + " "); } dat.ReadLine(); Console.WriteLine(); }; dat.Close(); rez.Close(); f1.Close(); f2.Close(); Console.ReadKey();
Решение задачи: «Ошибка чтения int из файла через StreamReader.Read()»
textual
Листинг программы
int k = Convert.ToInt32(dat.ReadLine()); Console.WriteLine(k); for (int i = 1; i <= k; i++) { int n = Convert.ToInt32(dat.ReadLine()); Console.WriteLine(n); int[] a = dat.ReadLine() .Split() .Select(s => int.Parse(s)) .Take(n) .ToArray(); foreach (int num in a) { Console.Write("{0} ", num); } Console.WriteLine(); }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д