Привет! Как мне на си сделать, чтобы при вводе пароля он не отображался, а, ещё лучше, отображался звёздочками. Знаю, надо что-то с терминалом нахимичить: на перле знаю как это делается, а вот на си... Может, конкретную либу подскажите или системную функцию какую...
Вообще то для этого есть стандартная функция getpass. Правда она в мане указана как устаревшая.
>Привет! Как мне на си сделать, чтобы при вводе пароля он не
>отображался, а, ещё лучше, отображался звёздочками. Знаю, надо что-то с терминалом
>нахимичить: на перле знаю как это делается, а вот на си...
>Может, конкретную либу подскажите или системную функцию какую...Можно переключать режимы терминала: запретить эхо, отменить буферизацию и т.п.
см. man tcsetattr
Если интересно могу выслать пример.
Ещё можно использовать curses, но если не нужно гонять курсор по экрану, то это лишнее.
>>Привет! Как мне на си сделать, чтобы при вводе пароля он не
>>отображался, а, ещё лучше, отображался звёздочками. Знаю, надо что-то с терминалом
>>нахимичить: на перле знаю как это делается, а вот на си...
>>Может, конкретную либу подскажите или системную функцию какую...
>
>Можно переключать режимы терминала: запретить эхо, отменить буферизацию и т.п.
>
>см. man tcsetattr
>
>Если интересно могу выслать пример.Неплохим примером могут служить исходники stty(1):
~ % uname -rs
FreeBSD 5.3-RELEASE
~ % whereis stty
stty: /bin/stty /usr/share/man/man1/stty.1.gz /usr/src/bin/stty
~ %