Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Прошу помочь понять пример использования getchar() из K&R
|
|||
|---|---|---|---|
|
#18+
Приветствую всех. Решил вплотную заняться изучением С по сабжевой книге (раньше ничего на нем и плюсах не писал; решил выучить для общего развития). Вот один из примеров оттуда с небольшими отличиями: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. Теоретически эта программа должна подсчитывать число символов во вводимой строке (особенности Unicode пока в расчет не берем). Но после ввода строки программа ничего не печатает, и приходится вылезать из конгсоли по комбинации Ctrl+C. Мне кажется, что там не возникает EOF. Но что сделать, чтобы все заработало - не пойму. Работаю в Линуксе с gcc. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2017, 16:20 |
|
||
|
Прошу помочь понять пример использования getchar() из K&R
|
|||
|---|---|---|---|
|
#18+
Любезный, EOF == ^Z == Ctrl+Z ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2017, 16:45 |
|
||
|
Прошу помочь понять пример использования getchar() из K&R
|
|||
|---|---|---|---|
|
#18+
авторEOF == ^Z == Ctrl+Z Уже другая непонятная фигня: Код: sql 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2017, 16:58 |
|
||
|
Прошу помочь понять пример использования getchar() из K&R
|
|||
|---|---|---|---|
|
#18+
Любезный, хз что там в линухах, может ^D D:\VSProjects\crtlz>a test1 ^Z Ja ja, 6 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2017, 17:03 |
|
||
|
Прошу помочь понять пример использования getchar() из K&R
|
|||
|---|---|---|---|
|
#18+
Любезный, Ctrl+D ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2017, 17:17 |
|
||
|
Прошу помочь понять пример использования getchar() из K&R
|
|||
|---|---|---|---|
|
#18+
SiemarglЛюбезный, EOF == ^Z == Ctrl+ZТы не на winfaq. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2017, 17:19 |
|
||
|
Прошу помочь понять пример использования getchar() из K&R
|
|||
|---|---|---|---|
|
#18+
Спасибо за подсказку. Оказалось, ^D. Буду продолжать эксперименты. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2017, 17:20 |
|
||
|
Прошу помочь понять пример использования getchar() из K&R
|
|||
|---|---|---|---|
|
#18+
Common LispSiemarglЛюбезный, EOF == ^Z == Ctrl+ZТы не на winfaq.Грузить специфический линух для проверки неизвестной фигни для стандартного С было неинтересно. Он не оправдал моих ожиданий за 20 лет, с момента Калдыри 1.0 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2017, 17:35 |
|
||
|
Прошу помочь понять пример использования getchar() из K&R
|
|||
|---|---|---|---|
|
#18+
Siemargl, C то здесь причём? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2017, 18:02 |
|
||
|
Прошу помочь понять пример использования getchar() из K&R
|
|||
|---|---|---|---|
|
#18+
авторC то здесь причём? Дык вопрос был по K&R, а это именно С. И компилятор gcc с пингвином, а не VS под форточками. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2017, 18:40 |
|
||
|
Прошу помочь понять пример использования getchar() из K&R
|
|||
|---|---|---|---|
|
#18+
ЛюбезныйавторC то здесь причём? Дык вопрос был по K&R, а это именно С. И компилятор gcc с пингвином, а не VS под форточками. какое отношение имеет K&R к завершению терминального ввода конкретной OS? да и форточная VS справляется с С-шным исходником как и gcc ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2017, 21:16 |
|
||
|
Прошу помочь понять пример использования getchar() из K&R
|
|||
|---|---|---|---|
|
#18+
В K&R (во всяком случае, в первых ее главах, которые я сейчас прохожу) ни слова не сказано, как вызвать EOF в принципе, вне зависимости от ОС. А набив и запустив предыдущий пример из этой же книги, я подумал, что EOF вызывается при переводе строки. Уже позже, увидев, что следующая же программа не пашет, написал сюда. И хорошо что получил точную подсказку, скорректировавшую мое понимание процесса. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2017, 01:00 |
|
||
|
Прошу помочь понять пример использования getchar() из K&R
|
|||
|---|---|---|---|
|
#18+
ИзопропилSiemargl, C то здесь причём?А что С? У меня все ОК У кого то руки кудрявые ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2017, 01:03 |
|
||
|
Прошу помочь понять пример использования getchar() из K&R
|
|||
|---|---|---|---|
|
#18+
Common LispSiemarglЛюбезный, EOF == ^Z == Ctrl+ZТы не на winfaq. ЛюбезныйавторC то здесь причём? Дык вопрос был по K&R, а это именно С. И компилятор gcc с пингвином, а не VS под форточками. Если у исполняемого файла выходной бинарник "a" - то это gcc. минус за невнимательность ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2017, 01:06 |
|
||
|
Прошу помочь понять пример использования getchar() из K&R
|
|||
|---|---|---|---|
|
#18+
SiemarglГрузить специфический линух для проверки неизвестной фигни Т.е. эта "фигня" для тебя неизвестна, но ты полез помогать другому с ней разобраться? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2017, 01:11 |
|
||
|
Прошу помочь понять пример использования getchar() из K&R
|
|||
|---|---|---|---|
|
#18+
Любезный Мне кажется, что там не возникает EOF. Но что сделать, чтобы все заработало - не пойму. Работаю в Линуксе с gcc. Тут скорее всего ты напоролся на буферизацию ввода в терминальном клиенте. Идея в том, что если ты работаешь через терминал, то ввести один символ отдельно у тебя не получится. Потому что последовательность действий такова: терминальный клиент вводит одну строку символов до перевода строки (ENTER) строка, содержащая всю введённую строку, посылается программе ЦЕЛИКОМ. программа далее может читать эту строку посимвольно или всю целиком, её дело. Но до того, как ты в консоли нажмёшь ENTER, программа ничего не прочитает. А после ENTER прочитает как минимум два символа , введённый и '\n' Так работают юниксовые терминалы по сети или даже локально с данного хоста на данный хост. Отдельно ввести один символ средствами стандартной библиотеки С вообще невозможно (можно через что-то типа CURSES/NCURSES). Заметь, что это всё не означает, что пример из книги неправильный или с багом. Ну и кстати НЕ ВСЕ операционки работают так, в Win и DOS например если я не ошибаюсь, программа будет работать "более адекватно". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2017, 15:16 |
|
||
|
Прошу помочь понять пример использования getchar() из K&R
|
|||
|---|---|---|---|
|
#18+
ЛюбезныйСпасибо за подсказку. Оказалось, ^D^D. Буду продолжать эксперименты. Для пояснения скажу, что Ctrl-Z в линуксе/юниксе посылает программе сигнал SIGSTOP, который приостанавливает выполнение программы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2017, 15:19 |
|
||
|
Прошу помочь понять пример использования getchar() из K&R
|
|||
|---|---|---|---|
|
#18+
авторПотому что последовательность действий такова: терминальный клиент вводит одну строку символов до перевода строки (ENTER) строка, содержащая всю введённую строку, посылается программе ЦЕЛИКОМ. программа далее может читать эту строку посимвольно или всю целиком, её дело. Но до того, как ты в консоли нажмёшь ENTER, программа ничего не прочитает. А после ENTER прочитает как минимум два символа , введённый и '\n' Спасибо за развернутый комментарий. Я в принципе пришел к похожим выводам по результатам последних экспериментов. А есть ли какой-нить халявный компилятор под винду, который лучше использовать для изучения языка? Я в принципе против Линукса с gcc ничего не имею, но в винде просто удобнее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2017, 18:25 |
|
||
|
Прошу помочь понять пример использования getchar() из K&R
|
|||
|---|---|---|---|
|
#18+
ЛюбезныйА есть ли какой-нить халявный компилятор под винду, который лучше использовать для изучения языка? Я в принципе против Линукса с gcc ничего не имею, но в винде просто удобнее. тот же gcc. (MinGW) или Visual Sturio Community Edition - кроме компилятора ещё и среда разработки ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2017, 20:48 |
|
||
|
Прошу помочь понять пример использования getchar() из K&R
|
|||
|---|---|---|---|
|
#18+
ЛюбезныйавторПотому что последовательность действий такова: терминальный клиент вводит одну строку символов до перевода строки (ENTER) строка, содержащая всю введённую строку, посылается программе ЦЕЛИКОМ. программа далее может читать эту строку посимвольно или всю целиком, её дело. Но до того, как ты в консоли нажмёшь ENTER, программа ничего не прочитает. А после ENTER прочитает как минимум два символа , введённый и '\n' Спасибо за развернутый комментарий. Я в принципе пришел к похожим выводам по результатам последних экспериментов. А есть ли какой-нить халявный компилятор под винду, который лучше использовать для изучения языка? Я в принципе против Линукса с gcc ничего не имею, но в винде просто удобнее. http://www.codeblocks.org/downloads/26 Студия хорошая, но слишком уж много от нее мусора. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2017, 22:19 |
|
||
|
Прошу помочь понять пример использования getchar() из K&R
|
|||
|---|---|---|---|
|
#18+
SiemarglСтудия хорошая, но слишком уж много от нее мусора. какого ещё мусора? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2017, 23:05 |
|
||
|
Прошу помочь понять пример использования getchar() из K&R
|
|||
|---|---|---|---|
|
#18+
ИзопропилSiemarglСтудия хорошая, но слишком уж много от нее мусора. какого ещё мусора?В системных каталогах и реестре. Поставил, потренировался, удалил - не выйдет. Систему проще потом под нож. /me Потому в виртуалках живет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2017, 10:53 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=39456881&tid=2018170]: |
0ms |
get settings: |
13ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
166ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
56ms |
get tp. blocked users: |
2ms |
| others: | 269ms |
| total: | 545ms |

| 0 / 0 |
