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

Подскажите как прекратить чтение из файла? - C++

Восстановить пароль Регистрация
 
 
Nikko12
 Аватар для Nikko12
1 / 1 / 0
Регистрация: 07.06.2013
Сообщений: 162
28.07.2013, 16:07     Подскажите как прекратить чтение из файла? #1
Есть программа:
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include<iostream>
#include<fstream>
using namespace std;
int main()
{
    ifstream cin("in.txt");
    int name;
    while(true)
    {
    }
    // Закрываем фаил, прекращает чтение из него
}
Как сделать, что-бы после выполнения цикла while() закрыть фаил???
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.07.2013, 16:07     Подскажите как прекратить чтение из файла?
Посмотрите здесь:

C++ как осущиствить чтение файла,и подсчет строк
C++ Чтение файла как hex
как сделать чтение из файла C++
C++ Как по клавише прекратить (приостановить) запись в файл?
C++ Как прекратить ввод string?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Bend3r
 Аватар для Bend3r
142 / 129 / 17
Регистрация: 29.07.2012
Сообщений: 681
28.07.2013, 16:10     Подскажите как прекратить чтение из файла? #2
C++
1
cin.close();
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
28.07.2013, 16:12     Подскажите как прекратить чтение из файла? #3
Цитата Сообщение от Nikko12 Посмотреть сообщение
// Закрываем фаил, прекращает чтение из него
Сначала прекращаем чтение.
gray_fox
What a waste!
 Аватар для gray_fox
1244 / 1127 / 53
Регистрация: 21.04.2012
Сообщений: 2,350
Завершенные тесты: 3
28.07.2013, 16:16     Подскажите как прекратить чтение из файла? #4
Цитата Сообщение от Nikko12 Посмотреть сообщение
Как сделать, что-бы после выполнения цикла while() закрыть фаил???
ifstream сам закроет перед выходом из блока (в деструкторе).
Bend3r
 Аватар для Bend3r
142 / 129 / 17
Регистрация: 29.07.2012
Сообщений: 681
28.07.2013, 16:18     Подскажите как прекратить чтение из файла? #5
Цитата Сообщение от gray_fox Посмотреть сообщение
ifstream сам закроет перед выходом из блока (в деструкторе).
А где ты тут видишь деструктор?
gray_fox
28.07.2013, 16:22
  #6

Не по теме:

Цитата Сообщение от Bend3r Посмотреть сообщение
А где ты тут видишь деструктор?
Ты ведь знаешь что такое деструктор, правда?

Bend3r
 Аватар для Bend3r
142 / 129 / 17
Регистрация: 29.07.2012
Сообщений: 681
28.07.2013, 16:25     Подскажите как прекратить чтение из файла? #7
Цитата Сообщение от gray_fox Посмотреть сообщение

Не по теме:


Ты ведь знаешь что такое деструктор, правда?

знаю. Но в примера даже нету класса.
gray_fox
What a waste!
 Аватар для gray_fox
1244 / 1127 / 53
Регистрация: 21.04.2012
Сообщений: 2,350
Завершенные тесты: 3
28.07.2013, 16:25     Подскажите как прекратить чтение из файла? #8
Цитата Сообщение от Bend3r Посмотреть сообщение
знаю. Но в примера даже нету класса.
ifstream
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
28.07.2013, 16:30     Подскажите как прекратить чтение из файла? #9
Цитата Сообщение от gray_fox Посмотреть сообщение
ifstream сам закроет перед выходом из блока (в деструкторе).
Закроет-то он его закроет, но тема не об этом.
после выполнения цикла while() закрыть фаил
Добавлено через 3 минуты
Nikko12, я смотрю, вы на советы внимания не обращаете?
Можно ли еще сократить код?
Можно ли еще сократить код?
Nikko12
 Аватар для Nikko12
1 / 1 / 0
Регистрация: 07.06.2013
Сообщений: 162
28.07.2013, 23:45  [ТС]     Подскажите как прекратить чтение из файла? #10
alsav22, Советы какого рода Вы имеете в виду?? Что потокам не нужно давать стандартные имена?
Wolkodav
 Аватар для Wolkodav
599 / 452 / 32
Регистрация: 18.09.2012
Сообщений: 1,685
29.07.2013, 00:00     Подскажите как прекратить чтение из файла? #11
Nikko12, да вообще со стандартными названия лучше не баловаться, если честно...
Nikko12
 Аватар для Nikko12
1 / 1 / 0
Регистрация: 07.06.2013
Сообщений: 162
29.07.2013, 07:33  [ТС]     Подскажите как прекратить чтение из файла? #12
Wolkodav, Если не секрет, почему?
Wolkodav
 Аватар для Wolkodav
599 / 452 / 32
Регистрация: 18.09.2012
Сообщений: 1,685
29.07.2013, 09:04     Подскажите как прекратить чтение из файла? #13
Ну вы же не балуетесь гранатой, когда она без чеки...
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
29.07.2013, 15:01     Подскажите как прекратить чтение из файла? #14
Цитата Сообщение от Nikko12 Посмотреть сообщение
Если не секрет, почему?
Одна из причин, для вас писал:
Цитата Сообщение от alsav22 Посмотреть сообщение
... Есть такая рекомендацпия, что код должен быть легко читаем и понимаем. В частности, имена переменных должны подсказывать их назначение. Если в коде встречается поток с именем cin, то первая буква его имени подсказывает, что чтение с консоли, если - cout, то вывод на консоль...
Иначе возможны недоразумеия: Можно ли еще сократить код?
Ещё есть такое понятие: конфликт имён.
Nikko12
 Аватар для Nikko12
1 / 1 / 0
Регистрация: 07.06.2013
Сообщений: 162
29.07.2013, 18:21  [ТС]     Подскажите как прекратить чтение из файла? #15
Цитата Сообщение от alsav22 Посмотреть сообщение
Сообщение от alsav22
... Есть такая рекомендацпия, что код должен быть легко читаем и понимаем. В частности, имена переменных должны подсказывать их назначение. Если в коде встречается поток с именем cin, то первая буква его имени подсказывает, что чтение с консоли, если - cout, то вывод на консоль...
alsav22, Что-то я так и не понял, почему нельзя обзывать файловые потоки cin, cout.
Они ведь у меня так и называются, в чем проблема?? Из названия потока понятно, что он делает, считывает или выводит на экран?
P.S. В книжках по С++ везде файловые потоки называются cin и cout и пока не где не встречал, что их так нельзя называть.
P.S.S. А какой конфлик имен может возникнуть??? Можно пример пожалуйста??
gray_fox
What a waste!
 Аватар для gray_fox
1244 / 1127 / 53
Регистрация: 21.04.2012
Сообщений: 2,350
Завершенные тесты: 3
29.07.2013, 18:28     Подскажите как прекратить чтение из файла? #16
Цитата Сообщение от Nikko12 Посмотреть сообщение
P.S.S. А какой конфлик имен может возникнуть??? Можно пример пожалуйста??
Например
C++
1
2
3
4
5
6
#include <iostream>
#include <fstream>
 
using std::cin;
 
std::ifstream cin;
Nikko12
 Аватар для Nikko12
1 / 1 / 0
Регистрация: 07.06.2013
Сообщений: 162
29.07.2013, 18:33  [ТС]     Подскажите как прекратить чтение из файла? #17
Bend3r, Спасибо за ответ.

Добавлено через 54 секунды
Цитата Сообщение от gray_fox Посмотреть сообщение
1
C++
1
2
3
4
#include <iostream>
#include <fstream>
using std::cin;
std::ifstream cin;
gray_fox, А разве компилятор не выдаст ошибку?
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
29.07.2013, 18:38     Подскажите как прекратить чтение из файла? #18
Цитата Сообщение от Nikko12 Посмотреть сообщение
Из названия потока понятно, что он делает, считывает или выводит на экран?
У вас он считывает с консоли? Еще раз: cin и cout это потоки чтения и записи, которые создаются в каждой программе автоматически для чтения и записи из стандартного потока чтения и записи (по умолчанию - консоль). cin - сокращение: консольный ввод, cout - консольный вывод. У вас чтение не из консоли, а из файла.

Добавлено через 59 секунд
Цитата Сообщение от Nikko12 Посмотреть сообщение
В книжках по С++ везде файловые потоки называются cin и cout и пока не где не встречал, что их так нельзя называть.
Название книги и страницу.
gray_fox
What a waste!
 Аватар для gray_fox
1244 / 1127 / 53
Регистрация: 21.04.2012
Сообщений: 2,350
Завершенные тесты: 3
29.07.2013, 18:38     Подскажите как прекратить чтение из файла? #19
Цитата Сообщение от Nikko12 Посмотреть сообщение
gray_fox, А разве компилтор не выдаст ошибку?
Выдаст, как раз потому что "конфликт имён".
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.07.2013, 19:03     Подскажите как прекратить чтение из файла?
Еще ссылки по теме:

Как прекратить ввод данных из консоли C++
C++ Как прекратить работу программы?
Запись структуры и чтение из файла в структуру ( как бы лучше ) C++

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

Или воспользуйтесь поиском по форуму:
Nikko12
 Аватар для Nikko12
1 / 1 / 0
Регистрация: 07.06.2013
Сообщений: 162
29.07.2013, 19:03  [ТС]     Подскажите как прекратить чтение из файла? #20
Цитата Сообщение от alsav22 Посмотреть сообщение
В книжках по С++ везде файловые потоки называются cin и cout и пока не где не встречал, что их так нельзя называть.
Название книги и страницу.
Я говорю, что негде не встречал, что файловые потоки так нельзя называть. Хотя сейчас обратил внимание, что когда происходит чтение из файла, то поток не называется cin...
alsav22,
Цитата Сообщение от alsav22 Посмотреть сообщение
У вас он считывает с консоли? Еще раз: cin и cout это потоки чтения и записи, которые создаются в каждой программе автоматически для чтения и записи из стандартного потока чтения и записи (по умолчанию - консоль). cin - сокращение: консольный ввод, cout - консольный вывод. У вас чтение не из консоли, а из файла.
Да, у меня он просто считывает из файла, пока не вижу в этом проблемы....Что в этом такого страшного???

Добавлено через 1 минуту
Цитата Сообщение от gray_fox Посмотреть сообщение
Сообщение от Nikko12
gray_fox, А разве компилтор не выдаст ошибку?
Выдаст, как раз потому что "конфликт имён".
Нет, у меня он пишет: 1.cpp:3: error: expected namespace-name before ';' token
1.cpp:3: error: `<type error>' is not a namespace

Добавлено через 1 минуту
gray_fox, P.S. И если не скомпилируется из-за конфликта имен, если я правильно понял, так почему нельзя давать такие имена????
Yandex
Объявления
29.07.2013, 19:03     Подскажите как прекратить чтение из файла?
Ответ Создать тему
Опции темы

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