Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
Sylar9
135 / 56 / 13
Регистрация: 04.09.2011
Сообщений: 1,952
Записей в блоге: 1
1

Не правильно показывает размер файла

08.02.2012, 19:01. Просмотров 683. Ответов 6
Метки нет (Все метки)

Написал программу которая должна показывать размер файла:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main()
{
  string name;
  cout << "Введите имя файла, и его место расположение(C:\1.txt):  " << endl;
  cin >> name;
  ifstream f(name.c_str());
  cout << "Размер файла: " << f.tellg();  
 
system("pause");
return 0;
}
Но почему-то файл висит 11 кб, а программа показует только 0 кб
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.02.2012, 19:01
Ответы с готовыми решениями:

приложение не правильно сортирует из-за чего показывает не корректные результаты
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;math.h&gt; using namespace...

Программа правильно сохраняет, но не правильно считывает матрицу из файла
Программа правильно сохраняет, но не правильно считывает матрицу из файла ......

Удвоить размер файла, записав в конец файла все его исходные элементы
Дан файл целых чисел. Удвоить его размер, записав в конец файла все его...

Увеличить размер файла до заданного, записав в начало файла необходимое количество нулей
Здравствуйте! Мне нужно записать э-нты в начало файла. Перечитал несколько...

Sizeof: как правильно найти размер авторского типа?
#include &lt;stdio.h&gt; using namespace std; class kl { }; ...

6
soon
2546 / 1311 / 177
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
08.02.2012, 19:15 2
Get position of the get pointer.
Читать эту строку до просветления.
0
Том Ардер
Модератор
Эксперт по математике/физике
3835 / 2447 / 327
Регистрация: 15.06.2009
Сообщений: 4,472
08.02.2012, 19:17 3
Правильно показывает 0: текущая позиция чтения после открытия файла.

А надо так:

#include <iomanip>;

....................

f.seekg( 0, ios::end ); // перемещение к концу файла
cout << "size = " << f.tellg();
0
rangerx
1944 / 1553 / 478
Регистрация: 31.05.2009
Сообщений: 2,913
08.02.2012, 19:20 4
При открытии переведи курсор в конец файла
C++
1
ifstream f(name.c_str(), ios::ate);
либо воспользуйся методом seekg
C++
1
f.seekg(0, ios::end);
0
Wanderer1
23 / 23 / 11
Регистрация: 26.03.2011
Сообщений: 54
08.02.2012, 19:25 5
мне кажется в строке
Цитата Сообщение от Sylar9 Посмотреть сообщение
cout << "Введите имя файла, и его место расположение(C:\1.txt): " << endl;
вместо \1 должно быть \\1
и не забудь перевести курсор в конец файла как говорит rangerx
0
Sylar9
135 / 56 / 13
Регистрация: 04.09.2011
Сообщений: 1,952
Записей в блоге: 1
08.02.2012, 19:30  [ТС] 6
Цитата Сообщение от rangerx Посмотреть сообщение
При открытии переведи курсор в конец файла
C++
1
ifstream f(name.c_str(), ios::ate);
либо воспользуйся методом seekg
C++
1
f.seekg(0, ios::end);
а как в килобайты перевести ?
0
go
Эксперт С++
3637 / 1369 / 243
Регистрация: 16.04.2009
Сообщений: 4,527
08.02.2012, 19:42 7
Sylar9, разделить на 1024
1
08.02.2012, 19:42
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.02.2012, 19:42

Показывает ошибки: cout и cin не подключает, непредвиденный конец файла
#include&lt;iostream&gt; #include&lt;stdlib.h&gt; #include &lt;stdio.h&gt; #include &lt;stdlib.h&gt;...

Как правильно передать динамический массив в функцию, увеличивающую его размер, чтобы изменения сохранились
Извиняюсь за совсем нубский вопрос, похожее не нашел. Простая учебная задача -...

Размер файла
Добрый день , нужно получить размер файла мой код пишет что-то не внятное...


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

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

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