![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 26.01.2012
Сообщений: 8
|
![]()
Ребят, просветите пожалуйста в следующем вопросе: вот в самом низу приведен элементарный листинг чтения файла. Как известно, программа распознает конец файла, когда натыкается на символ EOF.
Если я создаю файл с помощью потока,например, вот так: char namefile[90]; cin.getline(namefile,89); ofstream out(namefile); out<<12<<34<<45; то программа дописывает этот символ, и в дальнейшем цикл, который я выделил красным цветом в листинге, выполняется без проблем, и на экран все выводится корректно. Если же создать файл таким образом - создать-текстовый файл, вбить в него какую-нибудь информацию, и закрыть, то читатся этот файл не будет, т.к. возникает бесконечный цикл(ведь программа не может найти EOF). Собственно вопрос: как мне показать, что ввод окончен?? Код:
![]() Последний раз редактировалось ACE Valery; 02.02.2012 в 00:09. |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
![]()
out.close() ?
Кстати, можно использовать тег [CODE] (значок # ![]()
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
![]() |
![]() |
![]() |
#3 |
Регистрация: 26.01.2012
Сообщений: 8
|
![]()
Я имею ввиду, что мне написать в блокноте, чтобы программа обнаружила конец файла??? В конце текста как-нибудь можно показать, что я закончил набивать текст. Вот проблема в том, что если файл создается с помощью потока, программа как-то дописывает этот символ, и цикла бесконечного не получается, т.к. программа как-то узнает, что файл закончен.
А то вот тут бесконечность получается если файл создать обычным способом, а не через поток: Код:
|
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
![]()
Не уверен в причине этого, но как-то так (т.е. endl или close() нужен):
Код:
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. Последний раз редактировалось Alex11223; 01.02.2012 в 12:09. |
![]() |
![]() |
![]() |
#5 | ||
Регистрация: 26.01.2012
Сообщений: 8
|
![]() Цитата:
Но попробуй создать файл обычным способом, открыв блокнот и напечатав что-нибудь в нем. Потом, как только ты закроешь блокнот, и откроешь его с помощью потока, цикл почему-то не сможет найти EOF. Ума не приложу, почему так. Цитата:
|
||
![]() |
![]() |
![]() |
#6 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
![]()
Эм...Создал, написал, сохранил (даже не закрывал блокнот) — всё работает и всегда работало.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
![]() |
![]() |
![]() |
#7 |
Регистрация: 26.01.2012
Сообщений: 8
|
![]()
Странно.... надо будет попробовать в другом компиляторе запустить... Проблема в том, что файл, который я создаю обычным путем, отказывается читаться до конца...
Спасибо за помощь! |
![]() |
![]() |
![]() |
#8 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
![]()
Может блокнот плохой?) Стандартным вин7 блокнотом, всё читается и скомпилированной в Visual C++ 2010, и Dev-C++.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
![]() |
![]() |
![]() |
Опции темы | Поиск в этой теме |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Ввод EOF c консоли - это Ctrl+Z и Ctrl+M Почему? | 8Observer8 | Общие вопросы по программированию, компьютерный форум | 10 | 13.01.2023 09:33 |
Получить имя файла из ссылки(в конце ссылки нет имени файла) | Человек_Борща | Работа с сетью в Delphi | 11 | 05.06.2011 15:15 |
как поставить ограничение на ввод нуля? | Dr.Swat | Общие вопросы Delphi | 5 | 14.06.2010 06:43 |
Как задать EOF? | Geolaz | Общие вопросы C/C++ | 24 | 17.01.2010 22:16 |
Delphi 7, удалить символ в конце файла | Flame_of_Death | Помощь студентам | 5 | 10.08.2009 06:32 |