Считывание из файла: в результате вместо единицы выводится ее ASCII код - C#
Формулировка задачи:
Считываю из файла, но в результате вместо 1 вижу ее ASCII код. В файле вектора из -1, 0, 1. Помогите, пожалуйста, сижу уже 2 день над этим(((
private void GetVectors() { int dx = (int)Math.Round((double)(Corner2.X - Corner1.X) / 10); int dy = (int)Math.Round((double)(Corner2.Y - Corner1.Y) / 10); for (int i = Corner1.X; i <= Corner2.X; i += dx) { graphics.DrawLine(pen1, new Point(i, Corner1.Y), new Point(i, Corner2.Y)); } for (int i = Corner1.Y; i <= Corner2.Y; i += dy) { graphics.DrawLine(pen1, new Point(Corner1.X, i), new Point(Corner2.X, i)); } try { StreamWriter sw = new StreamWriter("vectors.txt", true, Encoding.Default); int countOfRectangles = 10; for (int i = 0; i < countOfRectangles; i++) { for (int j = 0; j < countOfRectangles; j++) { bool isShadedPixel = false; for (int n = Corner1.Y + i * dy; n < Corner1.Y + (i + 1) * dy; n++) { for (int m = Corner1.X + j * dx; m < Corner1.X + (j + 1) * dx; m++) { if (bitmap.GetPixel(m, n) == Color.FromArgb(255, 255, 0, 0)) { isShadedPixel = true; } if (isShadedPixel) break; } } if (isShadedPixel) { sw.Write("1"); //input.Add(1); } else { sw.Write("0"); //input.Add(0); } } //sw.WriteLine(); } if (radioButton1.Checked) { sw.Write("\n1\n"); //mainInput.Add(1); } else if (radioButton2.Checked) { sw.Write("\n-1\n"); //mainInput.Add(-1); } sw.WriteLine(); sw.Close(); } catch (Exception e) { Console.WriteLine("Exception: " + e.Message); } finally { Console.WriteLine("Executing finally block."); } } public void ReadFromFile() { //StringReader sr = new StringReader("vectors.txt"); //FileStream f = new FileStream( try { string[] lines = System.IO.File.ReadAllLines("vectors.txt", Encoding.Default);//.Split(' ').Select(n => int.Parse(n)).ToArray(); foreach (string str in lines) { for (int i = 0; i < str.Length; i++) { if ((i > 99) && (Math.IEEERemainder(i, 100) == 0)) mainInput.Add(str[i]); else input.Add(str[i]); } } using (StreamWriter sw = new StreamWriter("vectors.txt", true)) { for (int j = 0; j < input.Count; j++) { sw.Write(input.ElementAt(j)); } sw.WriteLine(); } } catch (FileNotFoundException e) { MessageBox.Show("Check the directory of file on existing" + e.Message); } finally { Console.WriteLine("Executing finally block."); } }
Решение задачи: «Считывание из файла: в результате вместо единицы выводится ее ASCII код»
textual
Листинг программы
input = new List<int>(); using (StreamReader sr = new StreamReader("vectors.txt")) { string text = sr.ReadToEnd(); string[] splitted = text.Split(" \n\r\t".ToCharArray(), StringSplitOptions.RemoveEmptyEntries); for (int i = 0; i < splitted.Length; i++) { input.Add(int.Parse(splitted[i])); } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д