Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности

Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
22.04.2014, 07:13
|
|||
|---|---|---|---|
|
|||
Общие принципы работы программы. getchar, putchar , sdtin, stdout. Вопросы. |
|||
|
#18+
Здравствуйте. Не нашёл в интернете информацию по этим функциям. Я понял что getchar слушает пользователя. Это ерунда. 1. Они(гэтчар, путчар) работают со стандартными потоками ? 2. Эти потоки имеют дексрипторы 0 и 1 и их зовут stdin и stdout ? 3. Эти потоки используют все выполняющиеся процессы ? (наверное нет, но тогда ответы на два первых вопроса тоже нет) 4. Как происходит получение символа функцией int getchar () ? Эта функция не принимает ничего, значит она(getchar) возможно обёртка для другой функции, которая принимает указатель на какой-то общий буфер для потока программы. И этот указатель по видимому двигается. Значит буфер этот реализован, вероятно, как LIFO. Это только мои догадки. Чтобы бы не подумали что я не думаю, а сразу спрашиваю вас ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
22.04.2014, 07:52
|
|||
|---|---|---|---|
Общие принципы работы программы. getchar, putchar , sdtin, stdout. Вопросы. |
|||
|
#18+
SashaMercuryЗдравствуйте. Не нашёл в интернете информацию по этим функциям. Я понял что getchar слушает пользователя. Это ерунда. 1. Они(гэтчар, путчар) работают со стандартными потоками ? 2. Эти потоки имеют дексрипторы 0 и 1 и их зовут stdin и stdout ? 3. Эти потоки используют все выполняющиеся процессы ? (наверное нет, но тогда ответы на два первых вопроса тоже нет) 4. Как происходит получение символа функцией int getchar () ? Эта функция не принимает ничего, значит она(getchar) возможно обёртка для другой функции, которая принимает указатель на какой-то общий буфер для потока программы. И этот указатель по видимому двигается. Значит буфер этот реализован, вероятно, как LIFO. Это только мои догадки. Чтобы бы не подумали что я не думаю, а сразу спрашиваю вас 1. Да. 2. Обычно да. Но не обязательно. Стандартных потоков может вообще не быть. 3. Если стандартные потоки вообще могут быть на машине и если запускающий процесс их создал - они будут во всех программах запущенных точно так-же. 4. http://linux.die.net/man/3/getchar Правильно угадал. Обертка и есть. Читай ман. А буфер этот называется stdin. Правда удивительно? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
22.04.2014, 08:42
|
|||
|---|---|---|---|
|
|||
Общие принципы работы программы. getchar, putchar , sdtin, stdout. Вопросы. |
|||
|
#18+
Спасибо :) Linux man pagegetchar() is equivalent to getc(stdin). К чему эта инкапсуляция(. Ни к чему. На мой взгляд абсолютно тут не нужна, затрудняет понимание работы.Мне бы код этого getc, сейчас до конца изучу вашу ссылку ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
22.04.2014, 09:19
|
|||
|---|---|---|---|
Общие принципы работы программы. getchar, putchar , sdtin, stdout. Вопросы. |
|||
|
#18+
SashaMercuryи их зовут stdin и stdout ?stderr незаслуженно забыли ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
24.04.2014, 03:16
|
|||
|---|---|---|---|
|
|||
Общие принципы работы программы. getchar, putchar , sdtin, stdout. Вопросы. |
|||
|
#18+
Для каждой запущенной программы (процесса/потока) будет свой отдельно выделенный стандартный поток ввода/вывода/ошибок(точнее три потока). И каждый процесс видит только свои три потока ? Или эти три потока используют одновременно все ? Узнал что getc реализован как макрос. У меня такое чувство, что когда реализацией будет какой-нибудь ассемблерный код. Нашёл в следующую строчку Код: plaintext 1. Вчера была математика, потому не занимался и не узнал ничего нового. PS Дмитрий, я заказал в краевой библиотеке книгу, что вы мне советовали, алгоритмические трюки для программиста. Сегодня позвонили, просят прийти и забрать C: в предвкушении ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
24.04.2014, 03:17
|
|||
|---|---|---|---|
|
|||
Общие принципы работы программы. getchar, putchar , sdtin, stdout. Вопросы. |
|||
|
#18+
Или эти три потока используют одновременно все запущенные процессы? * ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
24.04.2014, 06:59
|
|||
|---|---|---|---|
Общие принципы работы программы. getchar, putchar , sdtin, stdout. Вопросы. |
|||
|
#18+
SashaMercuryДля каждой запущенной программы (процесса/потока) будет свой отдельно выделенный стандартный поток ввода/вывода/ошибок(точнее три потока). И каждый процесс видит только свои три потока ? Или эти три потока используют одновременно все ? Изнутри программы есть три потока остальное ей неизвестно. Общие они будут или персональные - решает тот кто запускает программу. Например поток вывода нескольких программ может быть выведен в одну консоль или в один файл. Тоже самое со вводом: стандартно он берется с клавиатуры (она обычно одна, т.е. общая), но можно вместо нее дать файл, он будет персональным потоком ввода. SashaMercuryУзнал что getc реализован как макрос. У меня такое чувство, что когда реализацией будет какой-нибудь ассемблерный код. Перечитай вышенаписанное и подумай сколько кода надо чтобы все это реализовать? Ты все еще хочешь во все это заглянуть? :) SashaMercuryДмитрий, я заказал в краевой библиотеке книгу, что вы мне советовали, алгоритмические трюки для программиста. Сегодня позвонили, просят прийти и забрать C: в предвкушении Изучай, только я вроде советовал "Искусство программирования" Кнута. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
24.04.2014, 09:40
|
|||
|---|---|---|---|
Общие принципы работы программы. getchar, putchar , sdtin, stdout. Вопросы. |
|||
|
#18+
Dima TSashaMercuryДля каждой запущенной программы (процесса/потока) будет свой отдельно выделенный стандартный поток ввода/вывода/ошибок(точнее три потока). И каждый процесс видит только свои три потока ? Или эти три потока используют одновременно все ? Изнутри программы есть три потока остальное ей неизвестно. Общие они будут или персональные - решает тот кто запускает программу. Например поток вывода нескольких программ может быть выведен в одну консоль или в один файл. Тоже самое со вводом: стандартно он берется с клавиатуры (она обычно одна, т.е. общая), но можно вместо нее дать файл, он будет персональным потоком ввода. SashaMercuryУзнал что getc реализован как макрос. У меня такое чувство, что когда реализацией будет какой-нибудь ассемблерный код. Перечитай вышенаписанное и подумай сколько кода надо чтобы все это реализовать? Ты все еще хочешь во все это заглянуть? :) SashaMercuryДмитрий, я заказал в краевой библиотеке книгу, что вы мне советовали, алгоритмические трюки для программиста. Сегодня позвонили, просят прийти и забрать C: в предвкушении Изучай, только я вроде советовал "Искусство программирования" Кнута. У, Кнута он только к пенсии осилит... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
24.04.2014, 11:03
|
|||
|---|---|---|---|
Общие принципы работы программы. getchar, putchar , sdtin, stdout. Вопросы. |
|||
|
#18+
SashaMercuryДмитрий, я заказал в краевой библиотеке книгу, что вы мне советовали, алгоритмические трюки для программиста. Сегодня позвонили, просят прийти и забрать C: в предвкушении Там обычные советы по целочисленной оптимизации. Например - как быстро посчитать квадратный корень из DWORD или посчитать количество единичных битов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
24.04.2014, 11:05
|
|||
|---|---|---|---|
Общие принципы работы программы. getchar, putchar , sdtin, stdout. Вопросы. |
|||
|
#18+
maytonТам обычные советы по целочисленной оптимизации это всяко интереснее, чем gechar разбирать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
24.04.2014, 11:59
|
|||
|---|---|---|---|
|
|||
Общие принципы работы программы. getchar, putchar , sdtin, stdout. Вопросы. |
|||
|
#18+
MasterZivУ, Кнута он только к пенсии осилит... Постараюсь не отстать от этого графика ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
24.04.2014, 12:04
|
|||
|---|---|---|---|
|
|||
Общие принципы работы программы. getchar, putchar , sdtin, stdout. Вопросы. |
|||
|
#18+
Dima_TИзучай, только я вроде советовал "Искусство программирования" Кнута. Зимой, когда я спрашивал про смысл операции x&(x-1), советовали эту книгу, все записано :D С Кнутом попозже познакомлюсь поближе ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
24.04.2014, 12:08
|
|||
|---|---|---|---|
|
|||
Общие принципы работы программы. getchar, putchar , sdtin, stdout. Вопросы. |
|||
|
#18+
С потоками понятно, спасибо. Dima_TПеречитай вышенаписанное и подумай сколько кода надо чтобы все это реализовать? Ты все еще хочешь во все это заглянуть? :) Очень хочу заглянуть и понять ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
24.04.2014, 12:52
|
|||
|---|---|---|---|
Общие принципы работы программы. getchar, putchar , sdtin, stdout. Вопросы. |
|||
|
#18+
SashaMercuryMasterZivУ, Кнута он только к пенсии осилит... Постараюсь не отстать от этого графика ;) С твоей-то дотошностью... Кнут-то зануда редкостный. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
24.04.2014, 13:11
|
|||
|---|---|---|---|
Общие принципы работы программы. getchar, putchar , sdtin, stdout. Вопросы. |
|||
|
#18+
SashaMercury, Саш. Ты реально потонешь в этом потоке информации. Ты вообще определись что нужно. Потому как копать Ассемблер с Абелем это вообще - другие ворота. Да и устарел он лет на 10-15. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
24.04.2014, 16:00
|
|||
|---|---|---|---|
|
|||
Общие принципы работы программы. getchar, putchar , sdtin, stdout. Вопросы. |
|||
|
#18+
В математике есть теория чисел, топология, вычислительная математика и много много всего. Но дифференциальные уравнения бесспорно вершина. Так и тут, есть куча всего, я видел не так много, но Си мне нравится так-же сильно как и ДУ. Мне кажется это золотая середина между высокоуровневыми языками и машинным кодом. Но чтобы его изучить, приходится разбираться во многом. Потому архитектуру системы команд и систему команд тоже нужно изучить. Вот и тянутся эти книги. Я не могу изучать Си не понимая как работает getc. И не зная что sizeof это просто красивое название машинной команды, например. Нужно разобраться как работает эта функция,точнее макрос, а я даже код не смог найти. Плохо искал наверное, завтра попробую. Меня выгоняют :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
24.04.2014, 16:05
|
|||
|---|---|---|---|
Общие принципы работы программы. getchar, putchar , sdtin, stdout. Вопросы. |
|||
|
#18+
На этом, думаю стоит закончить топик. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
25.04.2014, 04:09
|
|||
|---|---|---|---|
|
|||
Общие принципы работы программы. getchar, putchar , sdtin, stdout. Вопросы. |
|||
|
#18+
Перенесите пожалуйста в программирование. Я уже разобрался как дизассемблировать программу. И даже дизассемблировал Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. Код получился такой Код: xml 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. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
25.04.2014, 09:10
|
|||
|---|---|---|---|
Общие принципы работы программы. getchar, putchar , sdtin, stdout. Вопросы. |
|||
|
#18+
SashaMercuryЯ уже разобрался как дизассемблировать программу. полезнее изучить опции компилятора - получение ассемблерного листинга, отключение проверок стека и т д ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
28.04.2014, 02:23
|
|||
|---|---|---|---|
|
|||
Общие принципы работы программы. getchar, putchar , sdtin, stdout. Вопросы. |
|||
|
#18+
SS Код: html 1. нет, там этого нет. Вот что расположено по этому адресу. Код: html 1. Изопропил, я не так выразился. С помощью компилятора и получил ассемблерный листинг, а не дизассемблировал. Поставил точки останова, и получил ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
28.04.2014, 02:48
|
|||
|---|---|---|---|
|
|||
Общие принципы работы программы. getchar, putchar , sdtin, stdout. Вопросы. |
|||
|
#18+
Ещё что странно, putchar пишет в stdout 48_2, getchar читает из stdin 48_ascii, но по факту они, как я понял, работают с одним буфером. То есть stdin и stdout это псевдонимы одной области памяти. Правильно ли я понял ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
28.04.2014, 03:28
|
|||
|---|---|---|---|
|
|||
Общие принципы работы программы. getchar, putchar , sdtin, stdout. Вопросы. |
|||
|
#18+
Туплю, http://linux.die.net/ getchar() is equivalent to getc(stdin) getc() is equivalent to fgetc() except that it may be implemented as a macro which evaluates stream more than once. fgetc() reads the next character from stream and returns it as an unsigned char cast to an int, or EOF on end of file or error. putchar(c); is equivalent to putc(c,stdout). putc() is equivalent to fputc() except that it may be implemented as a macro which evaluates stream more than once. fputc() writes the character c, cast to an unsigned char, to stream. putchar неявно работает с stdin, читает эта функция ведь по тому указателю ? ибо, откуда ещё ? а возвращает прочитанный символ в тот поток который принимает функция. Это верно ? stdin -неудачное название ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
28.04.2014, 04:03
|
|||
|---|---|---|---|
|
|||
Общие принципы работы программы. getchar, putchar , sdtin, stdout. Вопросы. |
|||
|
#18+
SS Код: plaintext 1. 2. 3. 4. 5. 6. То есть эта программа написана некорректно, но она работает. Написал сейчас правильно, int a=getc(stdin); всё отработало, всё ок. Но тогда почему отработал и первый вариант ? Я пытался считать по указателю, по которому ничего не было записано. Снова прихожу к тому что stdin и stdout это одно и тоже (указатели-псевдонимы). Непонятно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
28.04.2014, 07:24
|
|||
|---|---|---|---|
Общие принципы работы программы. getchar, putchar , sdtin, stdout. Вопросы. |
|||
|
#18+
SashaMercury, Это все обертки, в итоге докопаешь до WinAPI для работы с консолью. Можешь сразу почитать документацию Бросай это бесполезное занятие. Документацию для того и пишут чтобы каждый раз в чужие исходники не лезть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
28.04.2014, 08:20
|
|||
|---|---|---|---|
Общие принципы работы программы. getchar, putchar , sdtin, stdout. Вопросы. |
|||
|
#18+
Тут пример чтения средствами виндовса ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=57&mobile=1&tid=2019376]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
67ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
| others: | 11ms |
| total: | 173ms |

| 0 / 0 |
