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

Не работает seekp() - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ build и Debug какя разница? http://www.cyberforum.ru/cpp-beginners/thread754133.html
создаю простейшй проект, нажимаю Ф8 (старт Debug) и появляется "Привет" в консоли, то же самое но нажимаю на Ф9 (Build и Run) и опять "Привет" так в чем разница и зачем между билдом и дебгером если...
C++ Разложение функции tgx в ряд Тейлора Обыскался везде - не могу найти функцию на c++. которая раскладывала бы функцию tg(x) по ряду Тейлора. Помогите плиз. Сам написать пробовал - не понимаю Биноминальных чисел, хоть убей. Заранее... http://www.cyberforum.ru/cpp-beginners/thread754103.html
Поразрядная сортировка и его недостатки C++
Собствено сабж в "плохости" поразрядной сортировки. Ведь, если она отрабатывает за линейное время и не требует спец. аппаратной поддержки, а так же имеет устойчивую реализацию, то почему вместо неё...
Используя рекурсивную функцию, выдать первые n элементов последовательности, которые больше заданного числа m C++
Помогите срочно!!!Нужно написать программу рекурсией!!Но я рекурсию вообще не понимаю. Помогите пожалуйста!! Используя рекурсивную функцию, выдать первые n элементов последова- тельности = 5 - 20,...
C++ Вычислить объем цилиндра по известному радиусу основания и высоте http://www.cyberforum.ru/cpp-beginners/thread753997.html
Написать программу, вычисляющую объем цилиндра по известному радиусу основания и высоте. Расчет должен производиться в функции, которая получает данные по ссылке и возвращает результат по ссылке.
C++ Как преобразовать строку в двумерный массив? const int width = 12; const int height = 12; const char *lab =... подробнее

Показать сообщение отдельно
ninja2
231 / 187 / 7
Регистрация: 26.09.2012
Сообщений: 2,018
Завершенные тесты: 1

Не работает seekp() - C++

06.01.2013, 17:44. Просмотров 717. Ответов 3
Метки (Все метки)

Здорова господа!!!
У меня вообщем проблемка я от отрываю файл для редактирования
ios::app курсор в конце файла
затем делаю seekp(0) курсор должен как бы переместиться в начало файла
затем делаю отступ от начала на n-байт(символов) seekp(3)
затем идет запись поверх имеющейся записи в файле ob6ekt <<"blabla"

Казалось бы должно работать но почемуто у меня записывается в конец файла, а не в то место где указывает указатель файла????

Как перемещать указатель по файлу?!
Если можно пример в студию плиз?!

Вот часть кода:
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
if(addAccount==account)
        {
            cout <<"Account - "<<addAccount<<" imeets9 v faile oldmast.dat"<<endl;
            double old=account;
            double newBalance=balance+addBalance;
            cout <<"Novui balans "<<newBalance<<endl;
            int pos = Read.tellg();
            cout <<"pos = "<<pos<<endl;
            cout <<"pos-sizeof(balance)= "<<pos-sizeof(balance)<<endl;
            //cout <<"reinterpret_cast= "<<sizeof(balance)<<endl;
            //zapisat6 i soxranit6 v fail novoe znachenie
            //1. sozdaem novui fail dl9 zapisi
            ofstream Write("oldmast.dat", ios::app);
            //2.proverit6 otkrutie faila
            if(!Write)
            {
                cerr <<"fail no open (f.addTrans.Read)"<<endl;
                exit(1);
            }
            Write.seekp(1, ios::beg);//ystanovka ykazatel9 v nachalo.
            pos=Write.tellp();
            cout <<"pos= "<<pos<<endl;
            //Write.seekp(pos*sizeof(balance));
            //perezapisat6 dannue
            Write <<newBalance<<endl;
            
            
            
        }
да еще функция tellp() показывает что указатель по файлу якобы перемещается, меняет свое значение, но всерамно записывает в конец файла. Хелп!

п.с. (срочно нужно выучить за две недели с++)

Добавлено через 49 минут
я от маленький кусок кода сделал готовы можете попробовать в начало всерамно не записывает
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
#include <iostream>
using std::cout;
using std::cin;
using std::endl;
using std::ios;
using std::cerr;
#include <fstream>
using std::ofstream;
using std::ifstream;
#include <cstdlib>
using std::exit;
 
int main()
{
    //peremechenie kyrsora dl9 zapisi v faile
    ofstream write("oldmast.dat",ios::app);
    if(!write)
    {
        cerr <<"don't open file"<<endl;
        exit(1);
    }
    cout <<"Ykazatel6 f raven= "<<write.tellp()<<endl;//36
    write.seekp(1);
    write <<"9wa";
    cout <<"Ykazatel6 f raven= "<<write.tellp()<<endl;//4 no toka zapisuvaet v kones faila a doljno nachalo perepisat6
    
       return 0;
}
Ну же чо тут знатоков нету?! Помогите новичку!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru