Ошибка чтения 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 Код програмы:
 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();
Выдача на екран: Тоесть, комманда ReadLine() работает нормально, а c Read() происходят странности. Это у меня со студиет что-то не в порядке или я пропустил что-то важное?

Решение задачи: «Ошибка чтения 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();
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 3.667 из 5
Похожие ответы