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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Teravisor
31 / 31 / 3
Регистрация: 07.08.2011
Сообщений: 89
#1

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

28.01.2012, 01:08. Просмотров 948. Ответов 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
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.01.2012, 01:08
Здравствуйте! Я подобрал для вас темы с ответами на вопрос fstream::tellp() не работает как надо. (C++):

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

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

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

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

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

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

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

З.Ы. Я использую printf всегда когда не понимаю почему не работает - так в данном случае cout меня запутал бы еще больше, т.к. основная задача - не вывести на экран, а понять в чем ошибка.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.01.2012, 13:17
Привет! Вот еще темы с ответами:

Вывод из файла работает на так как надо - C++
Привет всем) У меня проблемка.. Я делаю тест на с++ и проблема в том что последнюю строчку из файла показывает 4 раза.. подскажите как это...

При работе fstream указатель типа pos_type (позиции в файле) не работает - C++
Разбираю код с сайта: http://valera.asf.ru/cpp/book/c20.html Компилятор Билдер-6 ругается. когда я создаю консольное приложение и...

Программа не работает как надо. Задача: Вывести сумму всех элементов массива, кратных данному числу К (вводится с клавиатуры) - C++
Вот мой код. Суммарное число выводит слишком большее, а после завершения программы ошибку:&quot;Run-Time Check Failure #2 - Stack around the...

<fstream> как копировать файлы? - C++
Какой функцией можно скопировать нужный файл?


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.