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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 8, средняя оценка - 4.63
АлексИванов
0 / 0 / 1
Регистрация: 08.11.2012
Сообщений: 72
#1

Как работает команда seekg? - C++

27.11.2012, 12:07. Просмотров 1275. Ответов 5
Метки нет (Все метки)

Всем привет!!!
Объясните пожалуйста на примере как работает функция seekg?
пробовал искать в поиске, о ней но ничего дельного и ясного я не нашел(
Пример:
Есть файл в котором хранятся 9 чисел типа double например:
3.456 323.4 2.323
7.356 93.32 8.456
10.49 1.323 6.387
Так вот единственное что я понял так это что означает seekg(0)- это возврат в начало файла, и что перед этим надо писать clear();Но как перемещать курсор например к элементу матрицы 3 3 я не понимаю или как переместить курсор к элементу 1 2 или 2 3?! подскажите пожалуйста.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.11.2012, 12:07
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как работает команда seekg? (C++):

Функция seekg() как работает? - C++
Надо считывать из бинарного файла числа, которые стоят на четных позициях. Надо использовать seekg(), но как она работает, можете...

Тяжело ли написать утилитку, которая работает как DOS-команда "pause" - C++
Тяжело ли написать утилитку, которая работает как DOS-команда "pause", но с автопродолжением через (например) 10 секунд? Научился...

Не работает команда - C++
Вроде бы всё правильно сделал, но не работает команда "Получение матрицы" Вот код Файл: Spisok.h #pragma once class Spisok { ...

Функция seekg - C++
Не могу понять как применить функцию seekg так, чтобы она ставила указатель на k-ую строку массива. помогите исправить пожалуйста, место...

Не запускается програма с seekg - C++
У меня возникает проблема с использованием seekg с этим кодом программа не запускается // load a file into memory #include <iostream> ...

методы seekg и seekp - C++
void my_work(const char *str, double KV) throw (myError) { fstream File(str, ios::in | ios::out | ios::binary); if(File.is_open()) ...

5
Vourhey
Почетный модератор
6482 / 2256 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
27.11.2012, 12:37 #2
Цитата Сообщение от АлексИванов Посмотреть сообщение
хранятся 9 чисел
Это не числа хранятся, это строки...числа хранятся в бинарном виде.
0
АлексИванов
0 / 0 / 1
Регистрация: 08.11.2012
Сообщений: 72
27.11.2012, 12:40  [ТС] #3
Ну и как же всё таки мне переместиться в нужное место?!
0
Toshkarik
1141 / 858 / 51
Регистрация: 03.08.2011
Сообщений: 2,386
Завершенные тесты: 1
27.11.2012, 12:44 #4
АлексИванов, отсчитать нужно количество байт. В данном случае 1 байт - 1 символ.
0
АлексИванов
0 / 0 / 1
Регистрация: 08.11.2012
Сообщений: 72
27.11.2012, 12:52  [ТС] #5
А пробел и точки считаются за байт?!
И как мне на 2ю строку переместиться?!
0
Toshkarik
1141 / 858 / 51
Регистрация: 03.08.2011
Сообщений: 2,386
Завершенные тесты: 1
27.11.2012, 13:14 #6
АлексИванов, конечно, они так же являются символами.
Цитата Сообщение от АлексИванов Посмотреть сообщение
И как мне на 2ю строку переместиться?!
Или считать всю текущую строку, или считывать по байту, пока не встретится символ новой строки, следующий байт и будет началом новой строки.
Текстовые файлы на то и текстовые, что каждый символ это один байт ( может конечно и больше одного байта занимать символ в некоторых кодировках, но тут это не важно ). Полагаю, Вам лучше подойдут бинарные файлы.
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.11.2012, 13:14
Привет! Вот еще темы с ответами:

Обработка файлов. Функция seekg(); - C++
ifstream fileReader("sdf.txt"); int a; while (fileReader >> a) { ...; } А теперь, чтобы повторить данный while нужно написать ...

Разница между seekg() и seekp() - C++
В чём же разница? Вот допустим открыл я файл: fstream file("trans.dat",ios::out|ios::in|ios::binary); Какая разница между...

seekg() не срабатывает по окончанию файла - C++
почему когда чтение доходит до третей записи (в файле всего три стройчки с int, char и int величинами) то метод seekg(); опять не...

Почему clear необходимо использовать до seekg? - C++
...и нельзя сразу после? Долго не могла решить проблему пока не наткнулась на тему где f.clear() шел до f.seekg(). И мне стало интересно))...


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

Или воспользуйтесь поиском по форуму:
6
Yandex
Объявления
27.11.2012, 13:14
Ответ Создать тему
Опции темы

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