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

seekg() не срабатывает по окончанию файла - C++

Восстановить пароль Регистрация
 
zybrzybr
 Аватар для zybrzybr
17 / 16 / 0
Регистрация: 29.09.2010
Сообщений: 156
05.08.2013, 20:46     seekg() не срабатывает по окончанию файла #1
почему когда чтение доходит до третей записи (в файле всего три стройчки с int, char и int величинами)
то метод
C++
1
seekg()
; опять не переводит указатель на нулевой байт файла?? т.е. по достижению конца файла, я не могу его прочитать сначала! подскажите пожалуйста изза чего это и как с этим жить то дальше?))

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
30
31
32
33
34
35
36
37
38
39
40
41
#include <iostream>
#include <fstream>
#include <string.h>
#include <stdio.h>
#include <iomanip>
#include <stdlib.h>
#include <conio.h>
int main()
{
    ifstream inFile("inf.dat", ios::in); //Client.
    if (!inClientFile){
        cout << "cannot open file" << endl;
        getch();
        exit (1);
    }
    int i1, i2;
    char name [10];
    inFile >> i1 >> name >> i2;
    cout << i1 << "  " << name << "  " << i2 << " _ "<< inClientFile.tellg() << endl;
    getch();
    inFile >> i1 >> name >> i2;
    cout << i1 << "  " << name << "  " << i2 << " _ "<< inClientFile.tellg() << endl;
    getch();
    inFile.seekg(0);
    inFile >> i1 >> name >> i2;
    cout << i1 << "  " << name << "  " << i2 <<" _ "<< inClientFile.tellg() << endl;;
    getch();
    inFile >> i1 >> name >> i2;
    cout << i1 << "  " << name << "  " << i2 << " _ "<< inClientFile.tellg() << endl;;
    getch();
    inFile >> i1 >> name >> i2;
    cout << i1 << "  " << name << "  " << i2 << " _ "<< inClientFile.tellg() << endl;;
    getch();
    inFile.seekg(0);
    inFile >> i1 >> name >> i2;
    cout << i1 << "  " << name << "  " << i2 << " _ "<< inClientFile.tellg() << endl;;
    getch();
    inFile >> i1 >> name >> i2;
    cout << i1 << "  " << name << "  " << i2 << " - "<< inClientFile.tellg() << endl;;
    getch();
}
в файле inf.dat
примерно следующее:

C++
1
2
3
1 фыв 12
2 ывф 13
3 лврлд 331
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.08.2013, 20:46     seekg() не срабатывает по окончанию файла
Посмотрите здесь:

C++ Проблема с seekg
C++ Разница между seekg() и seekp()
методы seekg и seekp C++
C++ как работает команда seekg?
Обработка файлов. Функция seekg(); C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
05.08.2013, 21:41     seekg() не срабатывает по окончанию файла #2
C++
1
2
inFile.clear(); // сбросить флаги потока
inFile.seekg(0);
zybrzybr
 Аватар для zybrzybr
17 / 16 / 0
Регистрация: 29.09.2010
Сообщений: 156
05.08.2013, 21:46  [ТС]     seekg() не срабатывает по окончанию файла #3
Цитата Сообщение от alsav22 Посмотреть сообщение
C++
1
2
inFile.clear(); // сбросить флаги потока
inFile.seekg(0);
спасибоб большое! я так пробывал НО оказалось что сбрасывал не там.. хотя в книге этого нет!
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
05.08.2013, 21:58     seekg() не срабатывает по окончанию файла #4
Цитата Сообщение от zybrzybr Посмотреть сообщение
я так пробывал НО оказалось что сбрасывал не там.. хотя в книге этого нет!
Что значит не там? Как сбрасывали? И что за книга?
zybrzybr
 Аватар для zybrzybr
17 / 16 / 0
Регистрация: 29.09.2010
Сообщений: 156
05.08.2013, 22:00  [ТС]     seekg() не срабатывает по окончанию файла #5
)) простенький пример на пол страницы о последовательных файлах...
решил поэксперементировать и на такое наткнулся!

книга -
в.и.шупляк с++ практический курс.
2008г.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
05.08.2013, 22:02     seekg() не срабатывает по окончанию файла #6
Насчёт этой книги уже написал в другой теме.
Yandex
Объявления
05.08.2013, 22:02     seekg() не срабатывает по окончанию файла
Ответ Создать тему
Опции темы

Текущее время: 04:17. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru