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

Файл - C++

Восстановить пароль Регистрация
 
c0der
 Аватар для c0der
1 / 1 / 1
Регистрация: 03.08.2010
Сообщений: 41
03.08.2011, 01:17     Файл #1
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
#include <iostream>
#include <fstream>
using namespace std;
 
int main ()
{
    char ch;
    ifstream in("1.txt");
 
    while(in.get(ch))
    {
        cout << ch;
    }
 
cout << endl;
system("pause");
cout << endl;
 
 
    while(in.get(ch))
    {
        cout << ch;
    }
 
cout << endl;
system("pause");
return 0;
}
Почему 2 раза он не может его вывести. куда что дописать
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.08.2011, 01:17     Файл
Посмотрите здесь:

Дан файл целых чисел. Создать новый файл, содержащий те же элементы, что и исходный файл, но в обратном порядке C++
C++ Дан файл. Записать в другой файл строки, которые являются палиндромами.
C++ Дан символьный файл f. Записать в файл g элементы файла f в обратном порядке
C++ Скопировать текстовый файл в новый файл, заменив в каждой строке слова «ok» на «*»
Дан символьный файл f. Записать в файл g компоненты файла f в обратном порядке C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Jupiter
Каратель
Эксперт C++
6542 / 3962 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
03.08.2011, 01:19     Файл #2
вам нужно вернутся в начало файла либо просто закрыть и открыть заново
castaway
Эксперт С++
4839 / 2978 / 367
Регистрация: 10.11.2010
Сообщений: 11,012
Записей в блоге: 10
Завершенные тесты: 1
03.08.2011, 01:24     Файл #3
Блин, и все же как аватар сочетается со смыслом вопроса!....

Добавлено через 2 минуты
Попробуй помести это в 19-ю строку:
C++
1
in.seekg( 0, ios::beg );
c0der
 Аватар для c0der
1 / 1 / 1
Регистрация: 03.08.2010
Сообщений: 41
03.08.2011, 01:25  [ТС]     Файл #4
вы бы лучше показали как переместится назад. чем критиковать
grizlik78
Эксперт C++
 Аватар для grizlik78
1882 / 1414 / 101
Регистрация: 29.05.2011
Сообщений: 2,958
03.08.2011, 01:26     Файл #5
Только чтобы seekg сработал надо перед этим состояние потока сбросить.
C++
1
2
in.clear();
in.seekg( 0, ios::beg );
c0der
 Аватар для c0der
1 / 1 / 1
Регистрация: 03.08.2010
Сообщений: 41
03.08.2011, 01:32  [ТС]     Файл #6
работает. спасибо.
а там где seekg обязательно в бинарном режиме файл открывать ?
Jupiter
Каратель
Эксперт C++
6542 / 3962 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
03.08.2011, 01:34     Файл #7
Цитата Сообщение от c0der Посмотреть сообщение
а там где seekg обязательно в бинарном режиме файл открывать ?
а где вы видите бинарный режим? beg это сокращение от begin - начало
c0der
 Аватар для c0der
1 / 1 / 1
Регистрация: 03.08.2010
Сообщений: 41
03.08.2011, 02:08  [ТС]     Файл #8
http://www.cplusplus.com/reference/i...istream/seekg/
is.open ("test.txt", ios::binary );

Добавлено через 28 минут
и еще вопрос как in.get() узнает откуда надо читать?
а там просто функция без передоверяемого индекса.
C++
1
2
3
4
       while(in.get(ch))
        {
                cout << ch;
        }
или мб там статическая инкрементная переменная?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.08.2011, 02:42     Файл
Еще ссылки по теме:

Даны натуральное , символьный файл и текстовый файл . Файл содержит 30 слов , каждое из которых будем называть ключевым C++
Дан целочисленный файл А. Записать в файл В все кратные трём числа из А C++
C++ Задан текстовый файл, необходимо по нему сформировать двоичный файл индексов

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

Или воспользуйтесь поиском по форуму:
OstapBender
 Аватар для OstapBender
581 / 519 / 35
Регистрация: 22.03.2011
Сообщений: 1,585
03.08.2011, 02:42     Файл #9
Цитата Сообщение от c0der Посмотреть сообщение
а там где seekg обязательно в бинарном режиме файл открывать ?
нет
Цитата Сообщение от c0der Посмотреть сообщение
и еще вопрос как in.get() узнает откуда надо читать?
...
или мб там статическая инкрементная переменная?
почти. файловые указатели ввода и вывода(put, get) . достаются функциями tellp и tellg , перемещаются функциями seekp , seekg
Yandex
Объявления
03.08.2011, 02:42     Файл
Ответ Создать тему
Опции темы

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