Форум программистов, компьютерный форум CyberForum.ru

Теряется последняя структура при записи в файл - C++

Восстановить пароль Регистрация
 
-Arabella-
0 / 0 / 0
Регистрация: 20.10.2013
Сообщений: 231
19.05.2014, 22:22     Теряется последняя структура при записи в файл #1
Здравствуйте. Проблема такая: при добавлении в файл еще структур, всегда теряется последняя при выводе на экран, например я хочу добавить данные в файл, ввожу Фамилию1 и цифирки к ней и нажимаю просмотреть данные (функция output) и эта структура не отображается, хотя в файл записывается, потом я опять выбираю пункт в меню добавить данные и ввожу Фамилия2 и цифирки и Фамилия1 появляется, а вот Фамилия2 нет и так всегда. Подскажите, пожалуйста, в чем ошибка?
C++ (Qt)
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
void output()
{
seller st;
char filename[]="sellers.dat";
char filename1[]="seller.dat";
int n;
FILE *f;
FILE *f1;
clrscr();
f=fopen(filename,"rb+");
f1=fopen(filename1,"wb+");
if(f)
{
fseek(f,0,SEEK_END);
n=ftell(f)/sizeof(seller);
seller* sell=new seller [n];
fseek(f,0,SEEK_SET);
 
   fread(sell,sizeof(seller),n,f);
   printf("\n FIO | Time | Weight things | Thing | Service Time Of One Purchase ");
for(int i=0;i<n-1;i++)
{
int k=1;
strcpy(st.FIO,sell[i].FIO);
st.at=sell[i].at;
st.ves=sell[i].ves;
st.shtuk=sell[i].shtuk;
st.time=sell[i].time;
for(int j=i+1;j<n;j++)
{
if(strcmp(sell[i].FIO,sell[j].FIO)==0 && sell[j].FIO!=0)
{
k++;
strcpy(sell[j].FIO,"\0");
st.at=st.at+sell[j].at;
st.ves=st.ves+sell[j].ves;
st.shtuk=st.shtuk+sell[j].shtuk;
st.time=st.time+sell[j].time;
}
}
if(strcmp(st.FIO,"\0")!=0)
{
st.at=st.at/k;
printf("\n %25s  | % 5.2f  | % 2d  | %2d  | %5.2f",st.FIO,st.time,st.ves,st.shtuk,st.at);
fwrite(&st,sizeof(st),1,f1);
}
}
fclose(f1);
}
printf("\n Press any key");
getch();
fflush(stdin);
fclose(f);
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.05.2014, 22:22     Теряется последняя структура при записи в файл
Посмотрите здесь:

C++ ошибка при записи в файл.
C++ Ошибка при записи в файл
Непонятка при записи в текстовой файл C++
C++ Ошибка при записи данных в файл
C++ Лишние символы при записи в файл
C++ Неверная кодировка при записи в файл
C++ Абракадабра при записи в файл и при чтении из него кириллицы
Теряется строка при передаче в функцию C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 16:27. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru