Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.89/9: Рейтинг темы: голосов - 9, средняя оценка - 4.89
32 / 32 / 2
Регистрация: 07.08.2011
Сообщений: 89

fstream::tellp() не работает как надо.

28.01.2012, 01:08. Показов 1891. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
#include <stdlib.h>
#include <fstream>
 
using namespace std;
 
int main(int argc, char** argv)
{
   fstream f("tmp.b",ios::out|ios::binary);
//Записываем.
   f<<"abc";
//По идее смотрим где указатель куда писать.
   printf("%d\n",f.tellp());
   f.close();
}
Выдает в консоль всегда 0.
По идее же должно выдавать в данном примере 3.
Файл записывается успешно.(С проверками - f.good() и точка.)
Дальнейшие эксперименты показали, что tellg() выдает тоже всегда 0, при том, даже после seekg(), однако чтение доказывает, что указатель откуда читать нормально переставился. Чтение проверено с флагами ios::in|ios::out|ios::binary на существующем файле.

Что может быть причиной и есть ли способ исправить/обойти?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
28.01.2012, 01:08
Ответы с готовыми решениями:

Как работает write в fstream?
есть файл с текстом: fstream f(&quot;f.txt&quot;,ios::in); надо его разделить его на части по сколько-то байт (переменная piece) создаю...

не работает fstream.h
Всем доброго дня !!! Решил поработать с файлами. В учебнике четко сказанно , что fstream.h не требует iostream.h В...

работает fstream в VC++2010
скажите пожалуйста библиотечный файл &lt;fstream.h&gt; поддерживает VC++2010? а то почему то даже простой код не работает ! или я может что то...

2
Псевдослучайный
1946 / 1146 / 98
Регистрация: 13.09.2011
Сообщений: 3,215
28.01.2012, 02:06
tellp() возвращает long, попробуй
C
1
printf("%ld\n",f.tellp());
Если прокатит, заодно скажи на какой архитектуре работаешь. Вообще, это же плюсы, зачем printf()?
1
32 / 32 / 2
Регистрация: 07.08.2011
Сообщений: 89
28.01.2012, 13:17  [ТС]
Да, спасибо. Система х86, винда 32х битная, думал инт возвращает, ошибся.

З.Ы. Я использую printf всегда когда не понимаю почему не работает - так в данном случае cout меня запутал бы еще больше, т.к. основная задача - не вывести на экран, а понять в чем ошибка.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
28.01.2012, 13:17
Помогаю со студенческими работами здесь

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

Почему не работает код при переходе на fstream?
Доброго времени суток! Ломаю, по незнанию, голову над следующим вопросом. Ниже такой код (из книги Лафоре ): объект записывает/читает...

Деление не работает как надо
я конечно не мастер но не пойму. У меня почему то не происходит деление. чтобы я не делал d присваивается 0 хз почему. //...

Цикл не работает так как надо
Всем привет! Народ, у меня цикл в программе работает не так как надо. 1 круг цикла происходит в норме, а когда начинается 2ой он...

Работает не так как надо(классы)
Задача. Создать класс хранящий в себе инн. Проверить его на верность и вывести результат. class NIP { public: NIP(const...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать контроль заполнения реквизита "ПричинаСписания". . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Программное заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru