Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Не получается запустить отладку Привет всем, есть рабочий код в формате cpp. Не работал раньше с c#. Скачал Visual Studio 2010, создаю консольное приложение, открываю файл, жму отладку, он ведёт построение и "Нажмите любую ... ".... https://www.cyberforum.ru/ cpp-beginners/ thread1416580.html C++ Выстроить на поле четыре фишки в ряд
Четыре в ряд. Цель - выставлять по очереди фишки на поле 6х7 (причем фишки падают сверху и заполняют с нижней строки по верхнюю) пока у одного из играющих не выстроится четыре своих фишки по...
C++ Табулирование функции через массив Она есть. Она работает. Но то, какие результаты она выдает - не влезает ни в какие мыслимые и немыслимые пределы. Так может кто-нибудь уже встречался с таким и подскажет, в чём ошибка? Возможно, я... https://www.cyberforum.ru/ cpp-beginners/ thread1416556.html C++ Вычислить выражение sin(sin(sin...(x))...) https://www.cyberforum.ru/ cpp-beginners/ thread1416553.html
Вычислить y=sinsin...sinx, где количество повторений sin=n. #include <iostream> #include <cmath> using namespace std; int main() { double x, y;
C++ Найти последний из положительных элементов, массива Y, содержащего N элементов
Найти последний из положительных элементов, массива Y, содержащего N элементов
C++ Разные результаты при каждом запуске https://www.cyberforum.ru/ cpp-beginners/ thread1416525.html
Всем доброго времени суток, посмотрел тут на форуме ты мы и не нашел ответ. У меня проблемка такая, я не давно начал программировать на с++ и возможно, что-то сделал не так. Я написал программу код...
C++ Компилятор не находит функцию GetUserName https://www.cyberforum.ru/ cpp-beginners/ thread1416521.html
#include "stdafx.h" #include <iostream> #include <Windows.h> #include <locale> using namespace std; BOOL GetUserName( LPTSTR lpBuffer, LPDWORD nSize
C++ Сортировка Шелла для двусвязного списка
Здравствуйте! Уже которую неделю я пытаюсь реализовать сортировку Шелла с возможностью выбора длин промежутков для двусвязного списка, и все никак не выходит. Помогите, пожалуйста!
C++ ASCII игра https://www.cyberforum.ru/ cpp-beginners/ thread1416515.html
В жизни программиста частенько появляется желание написать свою игру, оно же появилось и у меня. Но писать захотелось что-то оригинальное и с нуля. В голову прилетела идея написать "красивую" ASCII...
C++ Графы. Покритикуйте код Нужно помощь тех кто работает и пишет хороший и красивый код. У меня построено три матрицы, подскажите как улучшить код. Где можно ускорить и где сохранить память, ну и укажите на Г*внокод... https://www.cyberforum.ru/ cpp-beginners/ thread1416504.html
Вычислить сумму заработной платы C++
Количество строк: 5. Столбцы: Фамилия, Количество отработанных дней, Тариф. Вычислить сумму заработной платы. Не могу понять как записать тут сумма зарплаты:( помогите,буду очень благодарна
C++ Написать функцию полного удаления списка на основе связного хранения https://www.cyberforum.ru/ cpp-beginners/ thread1416477.html
Помогите составить такую функцию! Добавлено через 14 минут *связного
59 / 56 / 8
Регистрация: 22.07.2011
Сообщений: 436
0

Перезапись чисел в файле - C++ - Ответ 7455341

08.04.2015, 23:37. Показов 664. Ответов 1
Метки (Все метки)

Нужно написать программу, которая будет считывать из файлового потока число, изменять его и заменять в файле старое число на новое. Чисел в файле может быть несколько.
Допустим, в файле: 15 16 20 18 (в двоичном виде).

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
fstream strm(file, ios::in | ios::out | ios::binary);
 
if(strm.is_open())
{
    double number;
 
    strm.read((char *)&number, sizeof(number));
    strm.seekp(static_cast<long>(strm.tellp()) - sizeof(number));
    number -= 1;
    strm.write((char *)&number, sizeof(number));
 
    strm.read((char *)&number, sizeof(number));
    strm.seekp(static_cast<long>(strm.tellp()) - sizeof(number));
    number -= 1;
    strm.write((char *)&number, sizeof(number));
 
 
    strm.read((char *)&number, sizeof(number)); // !!!
    strm.close();
}
Первые два считывания и две записи происходят нормально, но при третьем считывании файле будет: 14 15 16 18. Почему? Функция read как-то переписывает поток?

Не по теме:

Нет, это не индусский код, просто вот таким образом пытаюсь разобраться.



Вернуться к обсуждению:
Перезапись чисел в файле C++
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.04.2015, 23:37
Готовые ответы и решения:

Перезапись строк в файле
Люди пожалуйста подскажите как можно перезаписать строку в файле. Не используя fstream.

Поиск строки в файле и её перезапись
Здравствуйте, я хочу чтобы моя программа находила строку в файле config.cfg и перезаписывала её....

Перезапись части информации в файле
Доброго времени суток. Возникла интересная проблема, как видно из заголовка темы, не могу...

Можно ли осуществить перезапись строки в файле
Итак,может не совсем правильная формулировка проблемы,но постараюсь изложить ее.Работа идет с...

1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.04.2015, 23:37
Помогаю со студенческими работами здесь

Перезапись в файле определенной по счету строки
Простите, что туплю, но не могу сообразить. Есть файл с некоторым количеством строк, известным...

Перезапись байтов в файле
Всем привет! Вопрос возможно к гуру. Подскажите как поменять в бинарном файле байт (или группу...

перезапись строки в файле
Здравствуйте! Такая задумка: в таймере записывается строка в файл(StreamWriter,sw.write(&quot;dsfs&quot;);,...

Сохранение и перезапись в файле
Добрый вечер! Я заполняю таблицу и при выходе из формы задаю сообщение о том, желаю ли я сохранить...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru