Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
0 / 0 / 0
Регистрация: 17.09.2012
Сообщений: 67

Считывание из файла: в результате вместо единицы выводится ее ASCII код

07.10.2014, 22:09. Показов 1602. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Считываю из файла, но в результате вместо 1 вижу ее ASCII код. В файле вектора из -1, 0, 1. Помогите, пожалуйста, сижу уже 2 день над этим(((
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
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.");
            }
        }
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
07.10.2014, 22:09
Ответы с готовыми решениями:

Модифицирование программы, вместо символов их код ASCII
Добрый вечер! Помогите модифицировать программу, так чтобы на экран вместо символов высвечивался его код ASCII. Заранее спасибо!

Вместо таблицы выводится код
Я создал таблицу в phpMyAdmin. Там есть три поля: -название -год -статус В html документе есть у меня такой код: ...

Запись и считывание файла - выводится мусор
Запись проходит нормально, но при чтении машина подтягивает мусор из оперативки, в чем проблема? #include &lt;stdio.h&gt; #include...

14
 Аватар для meksik
202 / 171 / 67
Регистрация: 04.10.2014
Сообщений: 839
07.10.2014, 22:14
C#
1
StreamWriter sw = new StreamWriter("vectors.txt", true, Encoding.Default);
поиграй с кодировкой
0
0 / 0 / 0
Регистрация: 17.09.2012
Сообщений: 67
07.10.2014, 22:24  [ТС]
Цитата Сообщение от meksik Посмотреть сообщение
C#
1
StreamWriter sw = new StreamWriter("vectors.txt", true, Encoding.Default);
Если честно, то уже пробовал везде Default ставить и не помогло
0
Заблокирован
07.10.2014, 22:32
Triathlet, может вы прирепите проект архивом?
0
 Аватар для meksik
202 / 171 / 67
Регистрация: 04.10.2014
Сообщений: 839
07.10.2014, 22:34
Triathlet, так поставь другую, ютфку типа
0
0 / 0 / 0
Регистрация: 17.09.2012
Сообщений: 67
07.10.2014, 22:36  [ТС]
Цитата Сообщение от Ev_Hyper Посмотреть сообщение
Triathlet, может вы прирепите проект архивом?
сделано.
Рисуете букву и оно распознает ее, делит на 100 квадратов, преобразует в вектор и записывает вектор в файл
Вложения
Тип файла: rar Perceptron.rar (54.6 Кб, 4 просмотров)
0
 Аватар для meksik
202 / 171 / 67
Регистрация: 04.10.2014
Сообщений: 839
07.10.2014, 22:39
C#
1
using (StreamWriter sw = new StreamWriter("vectors.txt", true))
вообще не выставлена
0
0 / 0 / 0
Регистрация: 17.09.2012
Сообщений: 67
07.10.2014, 22:43  [ТС]
Цитата Сообщение от meksik Посмотреть сообщение
C#
1
using (StreamWriter sw = new StreamWriter("vectors.txt", true))
вообще не выставлена
только что убрал, пробовал и с ней
0
Заблокирован
07.10.2014, 23:06
Triathlet, вы в input уже загоняете char значение(он и дает код символа).
исправьте на:
C#
1
2
3
4
5
6
7
8
9
foreach (string str in System.IO.File.ReadLines("vectors.txt"))
                {
                    for (int i = 0; i < str.Length; i++)
                    {
                        if ((i > 99) && (Math.IEEERemainder(i, 100) == 0)) mainInput.Add(str[i]);
                        else
                            input.Add(Convert.ToInt32(str[i].ToString())); 
                    }
                }
уверен можно проще, но вечером только такой вариант пришел.
Да и вообще код записи в файл лучше переписать.
0
 Аватар для meksik
202 / 171 / 67
Регистрация: 04.10.2014
Сообщений: 839
07.10.2014, 23:07
C#
1
input.Add(Convert.ToInt32(str[i].ToString()));
хитрая какая конвертация о_О
0
Заблокирован
07.10.2014, 23:44
Triathlet, я вам рекомендую переписать код немного по-другому - используйте какой-то символ-разделитель между записями (тогда считывать их будет проще, да и нагляднее)
0
0 / 0 / 0
Регистрация: 17.09.2012
Сообщений: 67
08.10.2014, 14:38  [ТС]
Цитата Сообщение от Ev_Hyper Посмотреть сообщение
Triathlet, я вам рекомендую переписать код немного по-другому - используйте какой-то символ-разделитель между записями (тогда считывать их будет проще, да и нагляднее)
я так уже делал с пробелами и все равно не помогает.
0
Заблокирован
08.10.2014, 14:44
Triathlet, этот вариант рабочий, но, на мой взгляд, кривой:
https://www.cyberforum.ru/post6693326.html
с символами-разделителями будет проще конвертация.
0
0 / 0 / 0
Регистрация: 17.09.2012
Сообщений: 67
08.10.2014, 14:47  [ТС]
Благодарен и на этом. Просто это до ужаса простая вещь, а не работала и поэтому дальше лаба не шла.
0
0 / 0 / 0
Регистрация: 17.09.2012
Сообщений: 67
09.10.2014, 18:44  [ТС]
Добавил пробелы после каждого символа и сделал так. Все работает. Вроде красиво:
C#
1
2
3
4
5
6
7
8
9
10
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]));
                    }
                }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
09.10.2014, 18:44
Помогаю со студенческими работами здесь

Написать программу,в результате выполнения которой выводится все чётные числа из задонного файла intel с целочисленными компонентами.
Написать программу,в результате выполнения которой выводится все чётные числа из задонного файла intel с целочисленными компонентами.

Вместо исполнения PHP-код выводится на экран в браузере
Добрый вечер, уважаемые пользователи форума. У меня браузер не поддерживает код PHP. У меня установлены Sublime Text 3 и OpenServer. Вот...

Считывание из файла: в консоль выводится не то, что ожидалось
При считывании из файла все происходит нормально, но если длина a или b &gt;=10, то вместо числа пишет непонятное число. //объявление...

PHP код, вместо того, чтобы обработаться - выводится в браузер.
Доброго времени суток! У меня возникла проблема на начальном этапе работы с php. Почему когда я открываю файл index.php в котором...

Вместо результата работы скрипта выводится его php-код
Может у кого-нибудь есть возможность исправить мои ошибки, буду очень благодарна.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru