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

Fread(), fseek(), fwrite() - Переписка байтов - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Создание статической библиотеки сортировки http://www.cyberforum.ru/cpp/thread1466616.html
Имеется задание: Разработка статической библиотеки, включающей в себя функции быстрой сортировки, сортировки подсчѐтом и бинарного поиска. Я создал функции: void qsort (int *arr, int b, int e) { int l=b, r=e; int piv=arr; { while(arr<piv) l++;
C++ Написать программу, которая может угадывать числа от 0 до 100 Надо написать программу которая может угадывать числа от 0 до 100 http://www.cyberforum.ru/cpp/thread1465962.html
C++ Дождаться появления окна и программно нажать на кнопку в нем
насколько это реально и что нужно сделать? В игре DOTA2 перед тем как начать играть,появляется окно в котором нужно выбрать вариант"готов". Ты клацаешь и игра началась. Суть вопроса. я хочу сделать программу которая, сама принимает вариант "готов", то есть программу которая "например" сканирует определённый участок монитора и сравнивает картинку с этого участка с заранее подготовленной...
C++ Стратегия min-max, альфа-бета отсечение в игре Калах
Здравствуйте. Помогите пожалуйста разобраться. Нужно переделать(подкорректировать) код игры с использованием алгоритмов min-max, альфа-бета отсечения. Не могу понять как и где это сделать в коде. Заранее благодарю. #include <iostream> #include <string> #include <math.h> #include <time.h> #include <stdlib.h> #include <time.h> #include <cstdio>
Теория и практика программирования Разработка и оптимизация поискового алгоритма http://www.cyberforum.ru/cpp/thread1465518.html
Доброго времени суток. У меня есть куча файлов, в каждом файле по 1 статье. Именем файла является id стать. Я индексирую каждую статью, разбивая ее на слова, и заношу в хэш таблицу с типом цепочка. Слово является ключом, а id статей, в которых встречается это слово, хранимыми данными. Я ввожу некое одно слово ("цветок"), происходит расчет ключа и я получаю id статей, где содержится это слово....
C++ Жадные алгоритмы для решения задачи о студентах на выставке Здравствуйте! Помогите пожалуйста решить задачу. Группа из N студентов хочет пройти на выставку, имея только 2 приглашения. Они могут сделать это, если будут заходить по двое и один из вошедших тут же будет выходить, вынося оба приглашения. Для каждого студента известна длительность его прохода на выставку. Длительность выхода равна длительности входа, а длительность прохода пары студентов... подробнее

Показать сообщение отдельно
antonboom
bmstu-team
301 / 136 / 56
Регистрация: 10.01.2012
Сообщений: 419
Записей в блоге: 10

Fread(), fseek(), fwrite() - Переписка байтов - C++

02.06.2015, 22:54. Просмотров 405. Ответов 2
Метки (Все метки)

Всем привет.
Такой вопрос. Есть задача пройтись по бинарному файлу с вещественными числами и как-то изменить его элементы, пусть будет, умножить на 3.
Почему вот такой вариант (более логичный, как мне кажется) не работает, сбивается после 2-ого числа:
C++
1
2
3
4
5
6
7
8
double buf;
    fseek(fdata, 0L, SEEK_SET);                         
    while (!feof(fdata)){                               
        fread(&buf, sizeof(double), 1, fdata);  // можно для пущей важности (long)sizeof(double)        
        buf *= 3.0;                             
        fseek(fdata, -sizeof(double), SEEK_CUR);      
        fwrite(&buf, sizeof(double), 1, fdata);     
    }
А вот такой вариант (костыльный) работает:

C++
1
2
3
4
5
6
7
8
9
10
double buf;
    fseek(fdata, 0L, SEEK_SET);                         
    while (!feof(fdata)){                               
         fseek(fdata, -sizeof(double), SEEK_CUR);
         fread(&buf, sizeof(double), 1, fdata);
     buf *= 3.0;                                
         fseek(fdata, -sizeof(double), SEEK_CUR);     
         fwrite(&buf, sizeof(double), 1, fdata);    
         fseek(fdata, sizeof(double), SEEK_CUR);        
    }
Заранее спасибо

P.S. Прошу прощения за отступы, редактор чудит
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 00:54. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru