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

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

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

Показать сообщение отдельно
ninja2
 Аватар для ninja2
230 / 186 / 7
Регистрация: 26.09.2012
Сообщений: 2,018
Завершенные тесты: 1
06.01.2013, 17:44     Не работает seekp()
Здорова господа!!!
У меня вообщем проблемка я от отрываю файл для редактирования
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;
}
Ну же чо тут знатоков нету?! Помогите новичку!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 21:37. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru