![]() |
|
|
![]()
|
|
| ermi |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 23.11.2006 Репутация: нет Всего: нет |
Привет всем!
Кто нибудь подскажите как можно удалить из потока? Например уменя есть данные о студентах,записанные в поток.необходимо удалить данные одного студента? Заранее спасибо!!! |
|||
|
||||
| Partizan |
|
|||
![]() Let's do some .NET ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2828 Регистрация: 19.12.2005 Где: Санкт-Петербург Репутация: 7 Всего: 67 |
?!?!?!?!?!?!?!?!??!?!?!??!!
что подразумевается под потоком в описании проблемы? явно не классическое понятие потока.... -------------------- СУВ, Partizan. |
|||
|
||||
| ermi |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 23.11.2006 Репутация: нет Всего: нет |
файловый поток
|
|||
|
||||
| SenkraD |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 933 Регистрация: 3.2.2006 Где: Украина::Киев Репутация: 9 Всего: 23 |
ermi, в смысле fstream?
Или что ты под этим подразумеваешь? |
|||
|
||||
| ermi |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 23.11.2006 Репутация: нет Всего: нет |
да fstream!!
|
|||
|
||||
| Partizan |
|
|||
![]() Let's do some .NET ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2828 Регистрация: 19.12.2005 Где: Санкт-Петербург Репутация: 7 Всего: 67 |
читаем из файла всё что там есть....удаляем то что нам не надо....записываем обратно в файл...
-------------------- СУВ, Partizan. |
|||
|
||||
| ermi |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 23.11.2006 Репутация: нет Всего: нет |
как удалять?
какую функцию надо использовать? Добавлено @ 21:54 Мне сказали что в си++ нету функции для удаления из файла. |
|||
|
||||
| Partizan |
|
|||
![]() Let's do some .NET ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2828 Регистрация: 19.12.2005 Где: Санкт-Петербург Репутация: 7 Всего: 67 |
пффф...читаем всё что есть в файле....
стиараем файл... записываем туда только то что нам нужно -------------------- СУВ, Partizan. |
|||
|
||||
| SenkraD |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 933 Регистрация: 3.2.2006 Где: Украина::Киев Репутация: 9 Всего: 23 |
Почему не используешь TStringList?
|
|||
|
||||
| ermi |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 23.11.2006 Репутация: нет Всего: нет |
У меня есть данные о студентах,сохраненые в файл
ofstream outfile; outfile.open("pers.txt",ios::app|ios::binary); outfile.write((char*)this,sizeof(*this)); мне надо удалить данные одного студента. Я начинеаю читать из файла ifstream infile; infile.open("pers.txt"); infile.seekg(numb*sizeof(add)); infile.read((char*)this,sizeof(*this)); и мне надо записать в другой файл данные всех студентов кроме одного. Если можно толучше напишите пример Добавлено @ 22:09 как это сделать??? |
|||
|
||||
| ermi |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 23.11.2006 Репутация: нет Всего: нет |
короче вот у меня прога
код /////////////////////////////////////////////class dannie//////////////////////////// class dannie {public: char name[10],surname[10],otch[10]; int chislo_rogd,mes_rogd,god_rogd; int god_post; char fakult[5],gryppa; int n_zach;int semes[10]; char predmet[10]; int ocenka; }; //////////////////////////////vvod////////////////////////////////////////////// class vvod:public dannie {public: //------getdata-------------- void getdata() { //vvod danix cout<<"\nVvedite dannie studenta: "; cout<<"\nName: ";cin>>name; cout<<"\nSurname: ";cin>>surname; cout<<"\nOtcestvo:";cin>>otch; cout<<"\n\nVvedite dannie rogdenia studenta:"; cout<<"\n born day: ";cin>>chislo_rogd; cout<<"\n born month: "; cin>>mes_rogd; cout<<"\n born year: "; cin>>god_rogd; cout<<"\n\nvvedite god postypleniya:"; cin>>god_post; cout<<"\n vvedite facultet: "; cin>>fakult; cout<<"\n vvedite nomer grouppi: "; cin>>gryppa; cout<<"\n vvedite nomer zachotki : ";cin>>n_zach; int i,j; char l,k; //vvod semestra,predmetov i ocenok for(i=1;i<=10;) {cout<<"semestr["<<i<<"]"; for(j=1;j<=10;) {cout<<"\n vvedite predmet:"; cin>>predmet; cout<<"\n vvedite ocenky"; cin>>ocenka; cout<<"\n eche predmet? y/n";cin>>l; if (l=='y') j++; else break; } cout<<"\n SLEDYUYCHI' SEMESTR? y/n ";cin>>k; if (k=='y') i++; else break; }; }; }; //------------------------------------------------ //////////////////////////////////////сохранение/////////////////////////////////////// class add:public vvod { public: void diskout() { ofstream outfile; outfile.open("pers.txt",ios::app|ios::binary); if(!outfile) {cerr<<"\n oshibka pri otkritii fila";exit(1);} outfile.write((char*)this,sizeof(*this)); } }; /////////////////////////////////////prosmotr////////////////////////////////////// class procmotr:public dannie {public: void data(void) {cout<<"\nName: "<<name; cout<<"\nSurname: "<<surname; cout<<"\nOtcestvo:"<<otch; cout<<"\n born day: "<<chislo_rogd; cout<<"\n born month: "<<mes_rogd; cout<<"\n born year: "<<god_rogd; cout<<"\n\n god postypleniya:"<<god_post; cout<<"\n facultet: "<<fakult; cout<<"\n nomer grouppi: "<<gryppa; cout<<"\n nomer zachotki : "<<n_zach; int l,k; }; void data(int); }; //--------------------------------------------------------- void procmotr::data(int pn) { ifstream infile; infile.open("pers.txt",ios::binary); if(!infile) {cerr<<"\n oshibka pri otkritii fila";exit(1);} infile.seekg(pn*sizeof(add)); infile.read((char*)this,sizeof(*this)); } class nfile //c4itaet ckoka filov cyshestvyet { public: int diskcout() { ifstream infile; infile.open("pers.txt",ios::binary); infile.seekg(0,ios::end); return(int)infile.tellg()/sizeof(dannie); } }; ///////////////////////////////main////////////////////////////////// int main() {add p;procmotr d;nfile l;ydalenie dd; int fff; for (int i=1;;) {cout<<"\n 1:Dobavit' stydenta"; cout<<"\n 2:Ydalit' stydenta"; cout<<"\n 3:prosmotr"; cout<<"\n 4:sortirovat"; cout<<"\n 5:o programme"; cout<<"\n 6:vixod"; cout<<"\n\n\n VIBRAT':"; cin>>fff; if(fff==1) {clrscr();char ch; do {p.getdata(); p.diskout(); cout<<"prodolgit y/n?"; cin>>ch; }while(ch=='y'); cout<<"vernytcia v menu:?y/n"; char b; cin>>b; if(b=='y'){clrscr();i++;} else if (b=='n'){break;} }; //2 if(fff==3) {clrscr(); int n=l.diskcout(); if (n==39045157) {cout<<"v fale net dannix"; cout<<"\n\nvernytcia v menu:?y/n"; char b; cin>>b; if(b=='y'){clrscr();i++;} else if (b=='n')break; } else if(n!=0){cout<<"v pa'le"<<n<<"chelovek\n"; int gg; cout<<"Kako' phail hatite prosmotret'?"; cin>>gg; d.data(gg); d.data(); cout<<"\n\nvernytcia v menu:?y/n"; char b; cin>>b; if(b=='y'){clrscr();i++;} else if (b=='n'){break;}};}; if(fff==5) {clrscr(); cout<<"\n\nProgrammy sostavila Zakaryan Hermine "; cout<<"\n\n\nvernytcia v menu:?y/n"; char b; cin>>b; if(b=='y'){clrscr();i++;} else if (b=='n'){break;}} if(fff==6){break;};};return 0;} Напишите мне как сделать удаление плиз. |
|||
|
||||
| SenkraD |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 933 Регистрация: 3.2.2006 Где: Украина::Киев Репутация: 9 Всего: 23 |
я так полагаю ты консоль пишешь...
Кажись так, но 100% гарантии не дам и вообще тебе надо было бы этот вопрос на общих вопросах о С++ задавать З.Ы. но предыдущий пост в Builder должен работать З.З.Ы. а еще можно тэги юзать для читабельности кода ;) Это сообщение отредактировал(а) SenkraD - 23.11.2006, 22:35 |
|||
|
||||
| ermi |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 23.11.2006 Репутация: нет Всего: нет |
Спасибо большое.
ща проверю. Добавлено @ 22:44 Неа не пашет. Ща попробую разобраться. |
|||
|
||||
| SenkraD |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 933 Регистрация: 3.2.2006 Где: Украина::Киев Репутация: 9 Всего: 23 |
Я после поста немного код поправил, попробуй еще раз.
Я там глуккнулся |
|||
|
||||
| ermi |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 23.11.2006 Репутация: нет Всего: нет |
А как можно переименовать функци NewPersList.txt на Pers.txt
Добавлено @ 23:11 пордон.то есть через какую функцию можно перименовать файл |
|||
|
||||
![]()
|
| Правила форума "С++ Builder" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C++ Builder | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |