3 года назад

Перезаписать данные в файле. С#

В общем прога срабатывает на нажатия разных клавиш и в зависимости от этого нужно записать данные в один и тот же файл (!не дописать, а переписать файл).usig (SteamWite steamWite = ew SteamWite("ame.txt"));           SteamWite sw;           FileIfo fi = ew FileIfo("ame.txt");           sw = fi.AppedText();           sw.WiteLie("Заносим кучу всего");           ......           sw.Close();                    stig cmd;               System.Cosole.WiteLie("\Ete commad>");               cmd = Cosole.ReadLie();               if (cmd == "m")                      // и тут уже нужно перезаписать данные в  тот файл              Пробовал в ифе уже удалять файл и создавать файл с таким же названием, все равно давало ошибку "Процесс не может получить доступ к файлу "путь\ame.txt", так как этот файл используется другим процессом."
Если не использовать  usig ,то ошибка типа "Процесс не может получить доступ к файлу "путь\ame.txt", так как этот файл используется другим процессом." появляется уже на строке  steamWite = fi.AppedText();

Ковроль (Гость) C++
3

C++: Перезаписать данные в файле. С#

1 год назад C++! Visual Studio 2010 Express, в проекте красным подчеркивает что файла stdafx.h нету?

я имею в виду что кода я#iclude "stdafx.h" делаю, то указывается ошибка по этому поводу, -Вопрос! - Где этот файл скачать, - куда впихнуть, - и как настроить среду чтобы она его обнаружила и не ругалась больше на отсутствие данного файла?п.с. такая же ситуация с файлом fsteam.h

AlexanderZh (Гость) 1 ответ
3
1 год назад Считывание данных из потока

есть кодpivate: System::Void butto1_Click(System::Object^  sede, System::EvetAgs^  e) {

System::IO::Steam^  s ;
 OpeFileDialog^ opeFileDialog1 = gcew OpeFileDialog;
 opeFileDialog1->IitialDiectoy = "c:\\";
 opeFileDialog1->Filte = "txt files (*.txt)|*.txt|Wave files (*.wav)|*.wav";
 opeFileDialog1->FilteIdex = 2;
 opeFileDialog1->RestoeDiectoy = tue;
 opeFileDialog1->ShowDialog();
 s =opeFileDialog1->...

shamaz mazum (Гость) Нет ответов
3
1 год назад Не пойму как перезаписать часть файла C++

4 СТРОКИ КОДА НА PSTEBIN - http://pastebi.com/B1Tb5DUBКакие бы флаги ни пробовал, а все одно - пишется либо в конец,  либо все заполняет нулями до нужного смещения.
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!Надо было вместо ios::app передать ios::iПоздравьте с решением проблемы)

IgoR ShilyaeFF (Гость) 2 ответа
3
Ответы (3)
anita-777 (Гость) 3 года назад
5

Лучше записывать в буфер, и только по надобности сливать это всё в файл.

Пожаловаться
Илья Черноусов (Гость) 3 года назад
9

Вот это ужас. Зачем вы используете конструкцию using, если внутри объявляете еще один StreamWriter. Writer из using уже заблокировал файл, а вы пытаетесь его записать вторым.
Удалите StreamWriter sw;
Вместо sw.WriteLine пишите streamWriter.WriteLine

Пожаловаться
re_alistka (Гость) 3 года назад
1

Должно получиться что-то вроде этого
using (StreamWriter streamWriter \u003d new StreamWriter("name.txt",true)) //Создаем StreamWriter, говорим, что хотим дописывать файл.
//Блок using создаем для того, чтобы не задумываться о закрытии стрима и уничтожении объекта
{
streamWriter .WriteLine("Заносим кучу всего");
......
}

string cmd;
System.Console.WriteLine("\
Enter command");
cmd \u003d Console.ReadLine();
if (cmd \u003d\u003d "m")
// и тут уже нужно перезаписать данные в тот файл

Не надо усложнять программу. И изучите синтаксис, потому что строка using (StreamWriter streamWriter \u003d new StreamWriter("name.txt")); не имеет смысла!

Пожаловаться
Перезаписать данные в файле. С# (C++) - вопросы и ответы на все случаи жизни - справочник C++ moi-vopros.ru