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

Запись в бинарный файл - C++

Восстановить пароль Регистрация
 
DimyanW
0 / 0 / 0
Регистрация: 22.11.2013
Сообщений: 15
22.11.2013, 17:42     Запись в бинарный файл #1
Всем привет. Столкнулся с следующей проблемой при написании курсача,а именно с записью в бинарный в файл: дело в том, что я каждый раз меняю значение переменной newl и записываю его в файл, но в итоге в файл у меня записываются не все значения newl, а только одно, тобишь оно дублируется несколько раз (как будто newl не изменяется)
P.S. пробовал убирать & , но в итоге компилятор ругается следующей фразой: аргумент типа "long double" несовместим с параметром типа "const void*"
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
while (!feof(file1))
    {
        c=getc(file1);
        for (int i=1;i<koli4estvo;i++)
            if (c==z[i].x)
            {
                rangeh=z[i].h;
                rangel=z[i-1].h;
 
                newh=oldl+(oldh-oldl)*rangeh;
                newl=oldl+(oldh-oldl)*rangel;
                
                oldl=newl;
                oldh=newh;
                s++;
            }
            if (s%13==0) fwrite(&newl,sizeof(newl),1,file2);     // здесь май проблэм
    }
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.11.2013, 17:42     Запись в бинарный файл
Посмотрите здесь:

C++ Запись в бинарный файл
C++ Запись в бинарный файл
C++ запись в бинарный файл
Запись в бинарный файл C++
Запись в бинарный файл C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
22.11.2013, 17:48     Запись в бинарный файл #2
Ещё бы узнать, что из себя переменные представляют.
DimyanW
0 / 0 / 0
Регистрация: 22.11.2013
Сообщений: 15
22.11.2013, 17:52  [ТС]     Запись в бинарный файл #3
Цитата Сообщение от alsav22 Посмотреть сообщение
Ещё бы узнать, что из себя переменные представляют.
ну newl - long double, остальное впринципе не суть, меня интересует почему в файл записывается одно и тоже значение newl, тобишь оно дублируется, остальные значения вообще не записываются
kazak
 Аватар для kazak
3029 / 2350 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
22.11.2013, 18:02     Запись в бинарный файл #4
Цитата Сообщение от DimyanW Посмотреть сообщение
newh=oldl+(oldh-oldl)*rangeh;
* * * * * * * * newl=oldl+(oldh-oldl)*rangel;
У Вас в программе может возникнуть ситуация, когда oldh и oldl равны?
DimyanW
0 / 0 / 0
Регистрация: 22.11.2013
Сообщений: 15
22.11.2013, 18:12  [ТС]     Запись в бинарный файл #5
Цитата Сообщение от kazak Посмотреть сообщение
У Вас в программе может возникнуть ситуация, когда oldh и oldl равны?
Даже если они и будут равны, то точно не в первых 2-3 итерациях, поэтому так или иначе в файл по идее должны записаться разные значения.
kazak
 Аватар для kazak
3029 / 2350 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
22.11.2013, 21:39     Запись в бинарный файл #6
Цитата Сообщение от DimyanW Посмотреть сообщение
Даже если они и будут равны, то точно не в первых 2-3 итерациях,
А это без разницы, у Вас newl выводится в файл после завершения цикла for, там и 2-3 итераций достаточно, чтобы значения заморозились.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.11.2013, 21:56     Запись в бинарный файл
Еще ссылки по теме:

C++ Запись string в бинарный файл
C++ Запись текста в бинарный файл
C++ Запись в бинарный файл

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

Или воспользуйтесь поиском по форуму:
DimyanW
0 / 0 / 0
Регистрация: 22.11.2013
Сообщений: 15
22.11.2013, 21:56  [ТС]     Запись в бинарный файл #7
все, всем спасибо за ответы, нашел ошибку!
Yandex
Объявления
22.11.2013, 21:56     Запись в бинарный файл
Ответ Создать тему
Опции темы

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