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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.85
soican
49 / 23 / 1
Регистрация: 16.11.2011
Сообщений: 329
Записей в блоге: 5
#1

Что делает tellg? - C++

21.11.2013, 12:08. Просмотров 2517. Ответов 4
Метки нет (Все метки)

имеем вот такой код
C++
1
2
3
4
string str;
ifstream in(FileName );
ifstream::streampos filesize = in.tellg();
str.reserve(filesize);
почему здесь tellg дает конец файла от нуля ?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.11.2013, 12:08     Что делает tellg?
Посмотрите здесь:

Почему значение tellg() не изменяется? - C++
Следующий код: #include <iostream> #include <fstream> using namespace std; void main() { ifstream file;

Тип возвращаемого значения ifstream::tellg() - C++
tellg якобы возвращает std::streampos, а если перейти к определению typedef typename _Traits::pos_type pos_type; pos_type...

Std::istream::tellg нумерация символов - C++
Гарантируется ли стандартом что std::istream::tellg нумерует символы в потоке с нуля, а не, скажем, с единицы?

Что делает pair? - C++
Можно пример посложнее(с map или ещё чем) с объяснениями?

Что делает printf? - C++
Народ! Я уже прочитал много страниц и так ни черта не понял про printf. Прошу, объясните мне что он делает, и что печатает (судя по моим...

Что делает программа - C++
Объясните пожалуйста пошагово что делает эта программа #include <stdio.h> #include <fstream> #include <iostream> using...

Что делает функция - C++
имеется вот такая функция. Обясние пожалуйста что она делает? что ето за команды которые она использует и как они работают. В интернете я...

Что делает функция? - C++
void countFrequency( const std::string & str, int *frequency ) //принимаем строку, и указатель на интовый массив { int idx; ...

_splitpath что делает? - C++
Что такое, с чем его едят, когда применяется и о параметрах.

Что делает cin.get - C++
Вот код: #include <iostream> int main() { int a; std::cin >> a; std::cin.putback ('A'); ...

Что делает строка? - C++
Что делает 14 строка? P.S. Программа читает пары с файла и выводит их на экран. # include <iostream> # include <string> # include...

что делает оператор? - C++
Добрый день. Подскажите пожалуйст, что делает следующий оператор: *b=(char *) malloc(1000000);


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
21.11.2013, 12:17     Что делает tellg? #2
Цитата Сообщение от soican Посмотреть сообщение
почему здесь tellg дает конец файла от нуля ?
Это непонятно о чём. tellg() выдаёт позицию курсора. При обычном открытии файла курсор на позиции 0 (начало файла).
soican
49 / 23 / 1
Регистрация: 16.11.2011
Сообщений: 329
Записей в блоге: 5
21.11.2013, 15:28  [ТС]     Что делает tellg? #3
Цитата Сообщение от alsav22 Посмотреть сообщение
Это непонятно о чём. tellg() выдаёт позицию курсора. При обычном открытии файла курсор на позиции 0 (начало файла)
и все же - правильно все работает http://www.cplusplus.com/reference/s...tring/reserve/
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
#include <fstream>
#include <string>
#include <iostream>
 
int main ()
{
  std::string str;
 
  std::ifstream file ("1.txt",std::ios::in|std::ios::ate);
  if (file) {
 
   std::ifstream::streampos filesize = file.tellg();
 
    str.reserve(filesize);
    file.seekg(0);
 
    std::cout <<str.capacity() << std::endl; // будит весить столько же или бльше, чем 1.txt
 
    while (!file.eof())
    {
      str += file.get();
    }
    std::cout << str;
  }
  return 0;
}
Croessmah
Модератор
Эксперт CЭксперт С++
12980 / 7292 / 812
Регистрация: 27.09.2012
Сообщений: 18,007
Записей в блоге: 3
Завершенные тесты: 1
21.11.2013, 17:06     Что делает tellg? #4
soican, а теперь внимательно посмотрите на код в посте #1 и на код в посте #3 и найдите отличие из-за которого работает.
soican
49 / 23 / 1
Регистрация: 16.11.2011
Сообщений: 329
Записей в блоге: 5
21.11.2013, 19:55  [ТС]     Что делает tellg? #5
Croessmah, [CPP]коварный ios::ate)))
Yandex
Объявления
21.11.2013, 19:55     Что делает tellg?
Ответ Создать тему
Опции темы

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