Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
YaOnline
1 / 1 / 0
Регистрация: 22.05.2012
Сообщений: 35
1

Перемещение указателя в начало файла

06.03.2017, 17:12. Просмотров 679. Ответов 3
Метки нет (Все метки)

Cчитываю файл посимвольно и вывожу информацию на экран, потом решил попробовать вывести информацию по строкам. Проблема в следующем, почему то file.seekg(0,ios::beg) не перемещает указатель в начало файла. Срабатывает только 1 часть программы, а вторая ничего не выводит.
1 изображение, это то, что выводит при работе всей программы. 2 изображение - если первую часть законспектировать.
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
#include <iostream>
#include <fstream>
#include <stdio.h>
using namespace std;
 
int main()
{
    setlocale(LC_ALL, "rus");
    ifstream file;
    file.open("C://Users//User//Desktop//file.txt");
 
    char c; // Вывод по символам
    while (file.get(c))
        cout << c;
    if (file.eof())                      
        cout << "\n[Файл успешно прочитан]" << endl;
    else
        cout <<"[Не удалось прочитать файл]" << endl;
 
    file.seekg(0,ios::beg); // Перемещение указателя в начало файла (почему то не работает)
    
    int i = 0;
    const int MAX_LENGTH = 100; // Вывод по строкам
    char line[MAX_LENGTH];
    while (file.getline(line, MAX_LENGTH)) {
        i++; 
        cout << i << " строка: " << line << endl;
    }
 
    file.close();
    system("pause");
    return 0;
}
Перемещение указателя в начало файла


Перемещение указателя в начало файла
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.03.2017, 17:12
Ответы с готовыми решениями:

Перевод указателя в начало файла
Мне нужно перевести указатель в начало файла для дальнейшей работы с ним....

Перевод указателя в начало файла - C++
Мне нужно перевести указатель в начало файла для дальнейшей работы с ним....

Перемещение указателя по файлу
Один из блоков программы на основании файла формирует и записывает чек. ...

Перемещение указателя в потоке
почему при выводе финальном на экран выводится только последняя...

Передача указателя на начало списка
#include &lt;stdio.h&gt; #include &lt;vld.h&gt; #include &lt;iostream&gt; #include &lt;Windows.h&gt;...

3
nmcf
6274 / 5577 / 2537
Регистрация: 14.04.2014
Сообщений: 23,468
06.03.2017, 17:39 2
Лучший ответ Сообщение было отмечено YaOnline как решение

Решение

Очистку флагов сделай предварительно.
2
YaOnline
1 / 1 / 0
Регистрация: 22.05.2012
Сообщений: 35
06.03.2017, 17:56  [ТС] 3
Спасибо, сработало! А почему без очистки не работало? Не могу понять...
0
nmcf
6274 / 5577 / 2537
Регистрация: 14.04.2014
Сообщений: 23,468
06.03.2017, 18:27 4
Цитата Сообщение от YaOnline Посмотреть сообщение
Не могу понять...
Ты понимаешь для чего флаги-то нужны? Операции чтения смотрят на их состояние. Твои циклы на этом и построены.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.03.2017, 18:27

Перемещение указателя FILE* по файлу
Здравствуйте. какой есть способ перемещать указатель по файлу по байтово...

Возвращение указателя на начало первой строки
Программа отказывается выполнять второй цикл. #include &quot;stdafx.h&quot;...

Перемещение максимального елемента в начало очереди
#include &lt;stdio.h&gt; #include &lt;conio.h&gt; #define LEN 100 int g_count = 0;...


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

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

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