2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 
 Снова о EOF в C
Сообщение09.06.2022, 23:21 
У меня ситуация точно такая же, как у автора темы, один в один. Прочитав тему, я, как новичок, мало что понял из ваших споров, но для продолжения изучения языка, хотел бы всё таки увидеть конкретный ответ на вопрос, заданный автором темы. Что ввести с клавиатуры, чтобы программа остановилась, не консольно (через Ctrl+Z), а программно. -1 не срабатывает- цикл продолжается.

 
 
 
 Re: Смысл EOF в си
Сообщение10.06.2022, 04:13 
Аватара пользователя
Bezdar в сообщении #1556939 писал(а):
Что ввести с клавиатуры, чтобы программа остановилась, не консольно (через Ctrl+Z), а программно.


Что это вообще такое? Что означает "ввести с клавиатуры не консольно, а программно"???

 
 
 
 Re: Смысл EOF в си
Сообщение10.06.2022, 07:29 
Про windows не знаю, а в linux из терминала можно послать EOF комбинацией Ctrl-D.
https://younglinux.info/bash/ctrl-c

 
 
 
 Re: Смысл EOF в си
Сообщение10.06.2022, 11:46 
zykov, выше в теме это неоднократно упоминалось. :-)

 
 
 
 Re: Смысл EOF в си
Сообщение10.06.2022, 14:17 
судя по книге, насколько правильно я её понимаю, цикл продолжается пока я не присвою переменной "С" значение, отличное от типа char. Вот я и спрашиваю, что именно должно оказаться в переменной, чтобы программа поняла, что ввод окончен?
Как я понял из форума, Ctrl+Z - команда не для программы, а для ОС завершить процесс в консоли. А если бы у меня было не консольное приложение, что должен поместить пользователь в переменную С через getchar(), чтобы выйти из цикла и программы в итоге?

 
 
 
 Re: Смысл EOF в си
Сообщение12.06.2022, 18:59 
Аватара пользователя
Bezdar в сообщении #1557011 писал(а):
судя по книге, насколько правильно я её понимаю, цикл продолжается пока я не присвою переменной "С" значение, отличное от типа char.


Это какой-то бессмысленный набор слов.

Bezdar в сообщении #1557011 писал(а):
Вот я и спрашиваю, что именно должно оказаться в переменной, чтобы программа поняла, что ввод окончен?


О чем речь вообще? Какой "переменной"? Какая "программа"?

Bezdar в сообщении #1557011 писал(а):
Как я понял из форума, Ctrl+Z - команда не для программы, а для ОС завершить процесс в консоли.


??? Ничего подобного на форме никогда не говорилось.

Bezdar в сообщении #1557011 писал(а):
А если бы у меня было не консольное приложение, что должен поместить пользователь в переменную С через getchar(), чтобы выйти из цикла и программы в итоге?


Этого никто не знает. Какие условия приводят к возврату значения EOF из getchar зависит от массы факторов и "пользователь" тут может быть вообще ни при чем.

 
 
 
 Re: Смысл EOF в си
Сообщение12.06.2022, 20:55 
Вы вообще осознаёте, на каком форуме и в какой теме находитесь?! Откуда эти все вопросы, вроде бы первый пост автора темы довольно ясен и прозрачен.
Вероятно, было большой ошибкой - регистрация на этом форуме на столь раннем этапе моего развития.

 
 
 
 Re: Смысл EOF в си
Сообщение12.06.2022, 23:13 
Bezdar, кажется, что это скорее вы плохо осознаете, что именно спрашиваете. Уточните вопрос, сейчас понять, что такое "программно ввести с клавиатуры", похоже, никому не удалось.

 
 
 
 Re: Смысл EOF в си
Сообщение13.06.2022, 10:01 
Конечно плохо- у меня стажа неделя! Я поэтому и пришёл сюда, чтоб у знающих людей спросить. Вполне допускаю, что несу какую-то чушь. Но автора предыдущего ответа смутило не это, он в принципе не осознаёт о чём тема, и с чего всё началось.
Я вижу это так:
есть программа, которая закончится при создании како-то условия, где бы её не запустили. Условие прописано в её коде. А есть консоль- приложение ОС, в которой мы запускаем эту программу. Я считал, что можно закрыть программу, выполнив условие, заданное в её коде(программно) или прервать процесс выполнения программы в приложении, в котором она запущена - в консоли , тем самым закрыть нашу программу(консольно). Попадалось такое выражение, как "убить процесс в консоли", которое я и принял за CtrlZ. Т.е. программа заканчивается не потому что выполнилось условие для её завершения, прописанное в ней самой, а потому что прервался сам процесс её выполнения извне.
Не знаю, как объяснить свою мысль более понятнее, давайте просто забудем, что я здесь был. Уже нашёл кучу разнообразных книг, где у авторов разный подход к объяснению. Как поднакидаюсь, вернусь на форум, чтоб вас советами одолеть

 
 
 
 Re: Смысл EOF в си
Сообщение13.06.2022, 10:29 
Bezdar в сообщении #1557229 писал(а):
Условие прописано в её коде.


Так покажите этот кусок кода - будет предмет для обсуждения.

 
 
 
 Re: Смысл EOF в си
Сообщение13.06.2022, 12:30 
Bezdar в сообщении #1557194 писал(а):
Вы вообще осознаёте, на каком форуме и в какой теме находитесь?! Откуда эти все вопросы, вроде бы первый пост автора темы довольно ясен и прозрачен.


-- 13.06.2022, 12:33 --

Bezdar в сообщении #1556939 писал(а):
У меня ситуация точно такая же, как у автора темы, один в один.

 
 
 
 Re: Снова о EOF в C
Сообщение13.06.2022, 12:40 
 i  Выделено из темы «Смысл EOF в си»

 
 
 
 Posted automatically
Сообщение13.06.2022, 12:41 
 i  Тема перемещена из форума «Программирование» в форум «Карантин»
по следующим причинам:

- отсутствует внятная формулировка проблемы.

Исправьте все Ваши ошибки и сообщите об этом в теме Сообщение в карантине исправлено.
Настоятельно рекомендуется ознакомиться с темами Что такое карантин и что нужно делать, чтобы там оказаться и Правила научного форума.

 
 
 
 Re: Смысл EOF в си
Сообщение13.06.2022, 12:50 
Bezdar в сообщении #1557244 писал(а):
Bezdar в сообщении #1557194 писал(а):
Вы вообще осознаёте, на каком форуме и в какой теме находитесь?! Откуда эти все вопросы, вроде бы первый пост автора темы довольно ясен и прозрачен.


-- 13.06.2022, 12:33 --

Bezdar в сообщении #1556939 писал(а):
У меня ситуация точно такая же, как у автора темы, один в один.

Не совсем. Он свою задачу решил 10 лет назад, и на каком форуме и где находится, сколько я его помню, осознавал.

 
 
 [ Сообщений: 14 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group