@anshelika
0 / 0 / 0
Регистрация: 04.11.2013
Сообщений: 54
|
15.05.2014, 11:13
[ТС]
|
|
Это по принципу:
C++ | 1
2
3
4
5
6
| if (strcmp(fname, "Не выбран") == 0)
{
std::cout << "Файл не выбран!" << std::endl;
system("pause");
return;
} |
|
Добавлено через 11 минут
ой..
C++ | 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
| void Del()
{
if (strcmp(fname, "Не выбран") == 0)
{
std::cout << "Файл не выбран!" << std::endl;
system("pause");
return;
}
allowance al[100];
int i, n=0;
std::fstream file;
file.open(fname, std::ios::out | std::ios::binary);
for(i=0; !file.eof(); i++)
{
file.read((char*)&al[i], sizeof(allowance));
n++;
}
file.close();
//далее редактирование/удаление/сортировка
} |
|
я правильно понимаю?
Добавлено через 1 час 40 минут
Функция редактирования такая... правда в конце в файл записывается мусор. в чем может быть причина?
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
| void EditRec()//редактировать запись
{
if (strcmp(fname, "Не выбран") == 0)
{
std::cout << "Файл не выбран!" << std::endl;
system("pause");
return;
}
allowance alnew;
int i;
std::cout << "Введите ФИО матери на редактирование - ";
//std::cin.ignore(1,'\n');
std::cin>>alnew.MothFIO;
std::cout << "Введите новое количество детей - ";
std::cin >> alnew.ChCount;
alnew.AllowSize = alnew.ChCount * PSIZE;
allowance tmp[100];
std::fstream file;
file.open(fname, std::ios::in | std::ifstream::binary);
for(i=0; !file.eof(); i++)
{
file.read((char*)&tmp[i], sizeof(allowance));
if (strcmp(tmp[i].MothFIO, alnew.MothFIO) == 0)
tmp[i] = alnew;
}
file.close();
std::fstream file2;
file2.open(fname, std::ios::out | std::ifstream::binary);
for (int j = 0; j < i; j++)
file2.write((char*)&tmp[j], sizeof(alnew));
file2.close();
std::cout << "Запись успешно изменена!" << std::endl;
} |
|
0
|