Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.06.2014, 22:14   #1
Sergey_gorobets
Пользователь
 
Регистрация: 08.02.2013
Сообщений: 69
По умолчанию работа с файлами C#

Подскажите пожалуйста где ошибка в коде??

Код:
 public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            startText();
        }

        private void startText()//в методе проверяю существует ли заданный файл по указанному адресу
        {
            string path = @"C:\start_num.txt";

            if (File.Exists(path))//если существует
            {
                FileStream f1 = new FileStream(@"C:\start_num.txt", FileMode.Open);
                using (StreamReader read = new StreamReader(f1))
                {
                    textBox1.Text = read.ReadToEnd();//в поле textBox1 записываю его содержимое
                }
            }
            else // если нету указанного файла по данному адресу
            {
                FileStream f1 = new FileStream(@"C:\start_num.txt", FileMode.Create);//создаю файл
                using (StreamWriter wrigth = new StreamWriter(f1))
                {
                    wrigth.Write(textBox1.Text);// и записываю в него заданное по умолчанию свойство .Text поля textBox1 (15)
                }
            }
        }

        private void button1_Click(object sender, EventArgs e)//по нажатию клавиши должен произойти расчет
        {
            textBox2.Text = Convert.ToString(Convert.ToInt32(textBox1.Text) * 2);//значение удваивается
            FileStream f = new FileStream(@"C:\start_num.txt", FileMode.Open);//открываю файл
            using (StreamWriter wrigth = new StreamWriter(f))
            {
                wrigth.Write(textBox1.Text);// и записываю в него новое значение
            }
        }
    }
Так вот работает все как то странно...Через какое то время, по-разному после 10 разу или больше перестает записывать в файл. Точнее наступает момент, когда я ввел, например 18, все просчитало верно..и при следующем запкуске в поле вместо 18 выдает 180 (дописывает ноль)..Также заметил пока ввожу числа по возрастанию- все нормально.Как только , например, ввел 950 просичтал, перезапустил и после него ввел те же 18, после следующего запуска вместо 18 стоит 180..В чем проблема?Подскажите пожалуйста..
Sergey_gorobets вне форума Ответить с цитированием
Старый 12.06.2014, 22:27   #2
Sergey_gorobets
Пользователь
 
Регистрация: 08.02.2013
Сообщений: 69
По умолчанию

Разобрался...нужно писать не

Код:

 private void button1_Click(object sender, EventArgs e)//по нажатию клавиши должен произойти расчет
        {
            textBox2.Text = Convert.ToString(Convert.ToInt32(textBox1.Text) * 2);//значение удваивается
            FileStream f = new FileStream(@"C:\start_num.txt", FileMode.Open[/COLOR]);//открываю файл
            using (StreamWriter wrigth = new StreamWriter(f))
            {
                
                wrigth.Write(textBox1.Text);// и записываю в него новое значение
            }
        }
а

Код:

 private void button1_Click(object sender, EventArgs e)//по нажатию клавиши должен произойти расчет
        {
            textBox2.Text = Convert.ToString(Convert.ToInt32(textBox1.Text) * 2);//значение удваивается
            FileStream f = new FileStream(@"C:\start_num.txt", FileMode.Truncate);//открываю файл и затираю содержимое
            using (StreamWriter wrigth = new StreamWriter(f))
            {
                
                wrigth.Write(textBox1.Text);// и записываю в него новое значение
            }
        }
вообще такой подход жизнеспособен??
Sergey_gorobets вне форума Ответить с цитированием
Старый 13.06.2014, 00:24   #3
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

нет конечно
eval вне форума Ответить с цитированием
Старый 13.06.2014, 14:05   #4
Sergey_gorobets
Пользователь
 
Регистрация: 08.02.2013
Сообщений: 69
По умолчанию

а каким иным "грамотным" образом можно осуществить даную задумку??
Sergey_gorobets вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с файлами: запись, добавление, чтение (найти ошибку в коде) / C для начинающих Надо создать программу для работы с файлами Konlor Общие вопросы C/C++ 2 18.05.2014 12:37
Си и работа с файлами Ixituni Общие вопросы C/C++ 9 29.07.2013 11:06
Работа с файлами Vitalya_1993 Помощь студентам 8 11.12.2011 14:46
работа с файлами BloodMaX Помощь студентам 7 11.03.2010 22:03
Работа с файлами good-spamer Помощь студентам 2 17.02.2010 16:38