<?xml version="1.0" encoding="koi8-r"?>
<rss version="0.91">
<channel>
    <title>OpenForum RSS: Как сделать, чтобы getchar не выдавал символ обратно</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/9158.html</link>
    <description>Добрый день!&lt;br&gt;Вопрос, наверное, ламерский, но все же, подскажите.&lt;br&gt;Обращаюсь с функции getchar(), а на экран при этом выаодится нажатый символ. Надо, чтобы он не выводился, как, если бы мне надо было ввести пароль. Но идея состоит не в этом, просто у меня stdin и stdout связаны с com портом, а конкретнее, с модемом. Получается, что все символы, приходящие от удаленного модема возвращаются ему назад. А это для меня плохо.&lt;br&gt;Может кто знает, как сделать такое?&lt;br&gt;</description>

<item>
    <title>Как сделать, чтобы getchar не выдавал символ обратно (vtuj)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/9158.html#9</link>
    <pubDate>Fri, 10 Jun 2011 14:44:22 GMT</pubDate>
    <description>&amp;gt; Можно вопрос: Напурква нужно  buf&#091;pnt&#093; = ch + 1; &lt;br&gt;&lt;br&gt;А для того, чтобы различать, что ввожу,а что вывожу&lt;br&gt;&lt;br&gt;Всем большое спасибо за помощь.&lt;br&gt; Все получилось с tcgetattr и tcsetattr.&lt;br&gt; А то замучился фильтровать сообщения, ведь я работал не с клавиатуры,а через модем с удаленным сервером.&lt;br&gt;&lt;br&gt;</description>
</item>

<item>
    <title>Как сделать, чтобы getchar не выдавал символ обратно (pavlinux)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/9158.html#8</link>
    <pubDate>Fri, 10 Jun 2011 14:34:04 GMT</pubDate>
    <description>&amp;gt; а эффект тот же.&lt;br&gt;&lt;br&gt;# echo &quot;1111&quot; &amp;#124; ./a.out &lt;br&gt;# cat qq&lt;br&gt;2222&lt;br&gt;&lt;br&gt;нету эффекта&lt;br&gt;&lt;br&gt;-----&lt;br&gt;&lt;br&gt;Можно вопрос: Напурква нужно  buf&#091;pnt&#093; = ch + 1;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;</description>
</item>

<item>
    <title>Как сделать, чтобы getchar не выдавал символ обратно (vtuj)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/9158.html#7</link>
    <pubDate>Fri, 10 Jun 2011 14:28:20 GMT</pubDate>
    <description>&amp;gt;&#091;оверквотинг удален&#093;&lt;br&gt;&amp;gt;&amp;gt; Получается, что все символы, приходящие от удаленного модема возвращаются ему назад.&lt;br&gt;&amp;gt;&amp;gt; А это для меня плохо.&lt;br&gt;&amp;gt;&amp;gt; Может кто знает, как сделать такое?&lt;br&gt;&amp;gt;     struct termios settings; &lt;br&gt;&amp;gt;     tcgetattr(0, &amp;settings); &lt;br&gt;&amp;gt; //не отображаем введённые символы &lt;br&gt;&amp;gt;     settings.c_lflag &amp;= ~ECHO; &lt;br&gt;&amp;gt; //не ждём нажатия интер &lt;br&gt;&amp;gt;     settings.c_lflag &amp;= ~ICANON; &lt;br&gt;&amp;gt;     tcsetattr(0, TCSANOW, &amp;settings); &lt;br&gt;&lt;br&gt;Спасибо, сейчас попробую!&lt;br&gt;А на версию с puts приготовил программу другую&lt;br&gt;---------------------------------------------------&lt;br&gt;#include &amp;lt;stdio.h&amp;gt;&lt;br&gt;&lt;br&gt;int main ()&lt;br&gt;&#123; char buf &#091;256&#093;;&lt;br&gt;  int ch, pnt;&lt;br&gt;  FILE *fl;&lt;br&gt;  fl = fopen (&quot;qq&quot;, &quot;w&quot;);&lt;br&gt;  pnt = 0;&lt;br&gt;  while ((ch = getchar()) != EOF)&lt;br&gt;  &#123; buf &#091;pnt&#093; = ch + 1;&lt;br&gt;    if (ch == 10) break;&lt;br&gt;    pnt ++;&lt;br&gt;  &#125;&lt;br&gt;  buf &#091;pnt&#093; = 0;&lt;br&gt;  fputs (buf, fl);&lt;br&gt;  fclose (fl);&lt;br&gt;&#125;&lt;br&gt;---------------------------------------------------&lt;br&gt;&lt;br&gt;В ней нет puts, а есть fputs, а эффект тот же.&lt;br&gt;</description>
</item>

<item>
    <title>Как сделать, чтобы getchar не выдавал символ обратно (Вова)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/9158.html#6</link>
    <pubDate>Fri, 10 Jun 2011 14:05:31 GMT</pubDate>
    <description>&amp;gt; Добрый день!&lt;br&gt;&amp;gt; Вопрос, наверное, ламерский, но все же, подскажите.&lt;br&gt;&amp;gt; Обращаюсь с функции getchar(), а на экран при этом выаодится нажатый символ. &lt;br&gt;&amp;gt; Надо, чтобы он не выводился, как, если бы мне надо было &lt;br&gt;&amp;gt; ввести пароль. Но идея состоит не в этом, просто у меня &lt;br&gt;&amp;gt; stdin и stdout связаны с com портом, а конкретнее, с модемом. &lt;br&gt;&amp;gt; Получается, что все символы, приходящие от удаленного модема возвращаются ему назад. &lt;br&gt;&amp;gt; А это для меня плохо.&lt;br&gt;&amp;gt; Может кто знает, как сделать такое?&lt;br&gt;&lt;br&gt;    struct termios settings;&lt;br&gt;    tcgetattr(0, &amp;settings);&lt;br&gt;//не отображаем введённые символы&lt;br&gt;    settings.c_lflag &amp;= ~ECHO;&lt;br&gt;//не ждём нажатия интер&lt;br&gt;    settings.c_lflag &amp;= ~ICANON;&lt;br&gt;    tcsetattr(0, TCSANOW, &amp;settings);&lt;br&gt;</description>
</item>

<item>
    <title>Как сделать, чтобы getchar не выдавал символ обратно (pavlinux)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/9158.html#5</link>
    <pubDate>Fri, 10 Jun 2011 14:05:20 GMT</pubDate>
    <description>&amp;gt;&#091;оверквотинг удален&#093;&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; 12345 &lt;br&gt;&amp;gt;&amp;gt;&amp;gt; 23456 &lt;br&gt;&amp;gt;&amp;gt;&amp;gt;  Проясните, пожалуйста, откуда берется строка &lt;br&gt;&amp;gt;&amp;gt;&amp;gt; 12345 &lt;br&gt;&amp;gt;&amp;gt;&amp;gt; ведь, едиственный оператор вывода это pus (buf), который выводит строку &lt;br&gt;&amp;gt;&amp;gt;&amp;gt; 23456 &lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Поэтому делаю вывод, что при нажатии клавиши на stdout сразу же выводится &lt;br&gt;&amp;gt;&amp;gt;&amp;gt; введенный символ.&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Вопрос, как это подавить?&lt;br&gt;&amp;gt; В смысле виноват puts?&lt;br&gt;&lt;br&gt;Ну что значит виноват, у него миссия такая - выводить на stdout,&lt;br&gt;от начала адреса указываемое в аргументе.&lt;br&gt;&lt;br&gt;if (ch == 10) - ждет кода 0x0A, он жe LF, он же &apos;&#092;n&apos;, он же ENTER&lt;br&gt;</description>
</item>

<item>
    <title>Как сделать, чтобы getchar не выдавал символ обратно (vtuj)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/9158.html#4</link>
    <pubDate>Fri, 10 Jun 2011 13:49:01 GMT</pubDate>
    <description>&amp;gt;&#091;оверквотинг удален&#093;&lt;br&gt;&amp;gt;&amp;gt; то на экране будут две строки &lt;br&gt;&amp;gt;&amp;gt; 12345 &lt;br&gt;&amp;gt;&amp;gt; 23456 &lt;br&gt;&amp;gt;&amp;gt;  Проясните, пожалуйста, откуда берется строка &lt;br&gt;&amp;gt;&amp;gt; 12345 &lt;br&gt;&amp;gt;&amp;gt; ведь, едиственный оператор вывода это pus (buf), который выводит строку &lt;br&gt;&amp;gt;&amp;gt; 23456 &lt;br&gt;&amp;gt;&amp;gt; Поэтому делаю вывод, что при нажатии клавиши на stdout сразу же выводится &lt;br&gt;&amp;gt;&amp;gt; введенный символ.&lt;br&gt;&amp;gt;&amp;gt; Вопрос, как это подавить?&lt;br&gt;&lt;br&gt;В смысле виноват puts?&lt;br&gt;</description>
</item>

<item>
    <title>Как сделать, чтобы getchar не выдавал символ обратно (pavlinux)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/9158.html#3</link>
    <pubDate>Fri, 10 Jun 2011 13:43:58 GMT</pubDate>
    <description>&amp;gt;&#091;оверквотинг удален&#093;&lt;br&gt;&amp;gt;   &#123; buf &#091;pnt&#093; = ch + 1; &lt;br&gt;&amp;gt;     if (ch == 10) &lt;br&gt;&amp;gt;     &#123; buf &#091;pnt&#093; = 0; &lt;br&gt;&amp;gt;       puts (buf); &lt;br&gt;&amp;gt;       pnt = 0; &lt;br&gt;&amp;gt;     &#125; &lt;br&gt;&amp;gt;     else pnt ++; &lt;br&gt;&amp;gt;   &#125; &lt;br&gt;&amp;gt; &#125; &lt;br&gt;&amp;gt; --------------------------------------- &lt;br&gt;&lt;br&gt;puts (buf); - вот он гад&lt;br&gt;&lt;br&gt;&lt;br&gt;&amp;gt;&#091;оверквотинг удален&#093;&lt;br&gt;&amp;gt; то на экране будут две строки &lt;br&gt;&amp;gt; 12345 &lt;br&gt;&amp;gt; 23456 &lt;br&gt;&amp;gt;  Проясните, пожалуйста, откуда берется строка &lt;br&gt;&amp;gt; 12345 &lt;br&gt;&amp;gt; ведь, едиственный оператор вывода это pus (buf), который выводит строку &lt;br&gt;&amp;gt; 23456 &lt;br&gt;&amp;gt; Поэтому делаю вывод, что при нажатии клавиши на stdout сразу же выводится &lt;br&gt;&amp;gt; введенный символ.&lt;br&gt;&amp;gt; Вопрос, как это подавить?&lt;br&gt;&lt;br&gt;Не выводить на stdout!!! &lt;br&gt;</description>
</item>

<item>
    <title>Как сделать, чтобы getchar не выдавал символ обратно (vtuj)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/9158.html#2</link>
    <pubDate>Fri, 10 Jun 2011 13:23:03 GMT</pubDate>
    <description>&amp;gt;&amp;gt; Добрый день!&lt;br&gt;&amp;gt;&amp;gt; Вопрос, наверное, ламерский, но все же, подскажите.&lt;br&gt;&amp;gt;&amp;gt; Обращаюсь с функции getchar(), а на экран при этом выаодится нажатый символ.&lt;br&gt;&amp;gt; Кривой у вас что-то, getchar не занимается выводом на экран.&lt;br&gt;&lt;br&gt;Может быть и кривой&lt;br&gt;Freebsd 8.2&lt;br&gt;gcc&lt;br&gt;&lt;br&gt;Вот текст программы:&lt;br&gt;----------------------------------&lt;br&gt;#include &amp;lt;stdio.h&amp;gt;&lt;br&gt;&lt;br&gt;int main ()&lt;br&gt;&#123; char buf &#091;256&#093;;&lt;br&gt;  int ch, pnt;&lt;br&gt;  pnt = 0;&lt;br&gt;  while ((ch = getchar()) != EOF)&lt;br&gt;  &#123; buf &#091;pnt&#093; = ch + 1;&lt;br&gt;    if (ch == 10)&lt;br&gt;    &#123; buf &#091;pnt&#093; = 0;&lt;br&gt;      puts (buf);&lt;br&gt;      pnt = 0;&lt;br&gt;    &#125;&lt;br&gt;    else pnt ++;&lt;br&gt;  &#125;&lt;br&gt;&#125;&lt;br&gt;---------------------------------------&lt;br&gt;&lt;br&gt;Если после запуска программы ввожу с клавиатуры&lt;br&gt;12345&lt;br&gt;то на экране будут две строки&lt;br&gt;12345&lt;br&gt;23456&lt;br&gt; Проясните, пожалуйста, откуда берется строка&lt;br&gt;12345&lt;br&gt;ведь, едиственный оператор вывода это pus (buf), который выводит строку&lt;br&gt;23456&lt;br&gt;Поэтому делаю вывод, что при нажатии клавиши на stdout сразу же выводится введенный символ.&lt;br&gt;Вопрос, как это подавить?&lt;br&gt;&lt;br&gt;</description>
</item>

<item>
    <title>Как сделать, чтобы getchar не выдавал символ обратно (pavlinux)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/9158.html#1</link>
    <pubDate>Thu, 09 Jun 2011 20:00:20 GMT</pubDate>
    <description>&amp;gt; Добрый день!&lt;br&gt;&amp;gt; Вопрос, наверное, ламерский, но все же, подскажите.&lt;br&gt;&amp;gt; Обращаюсь с функции getchar(), а на экран при этом выаодится нажатый символ. &lt;br&gt;&lt;br&gt;Кривой у вас что-то, getchar не занимается выводом на экран. &lt;br&gt;  &lt;br&gt;</description>
</item>

</channel>
</rss>
