Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > [c++]пароль в консольном приложении...


Автор: Gel0s 15.9.2007, 18:40
Есть потребность в консольном приложении при вводе строки, являющейся паролем, скрыть вводимые символы. И заменить их, допустим, звездочками. Есть ли функция для консольных приложений, или придется её самому написать? Ибо, написать не долго, но не хочется, чтобы потом оказалось, что я делал то, что уже сделано.
Пока то что нашел, относится, на сколько я понимаю, к диалоговым приложениям. Или 
SetPasswordChar() можно и для консоли применить?

Автор: yar 15.9.2007, 19:09
Видимо, прийдётся реализовать самостоятельно. 
Хотя зависит от системы.
С getch() это реализуется достаточно просто.

Автор: Gel0s 15.9.2007, 20:56
yar
Да знаю. Я алгоритм то сразу представил. Вот только руководитель сказал что есть функция, только он её не помнит. И не зачем делать то, что уже сделано. Вот я и в раздумьях. Пожалуй, разумнее будет сделать самому. А уж потом. если действительно есть, то можно и заменить. Хуже не станет.
Ну может кто ещё отпишется..

Автор: apook 16.9.2007, 05:00
Код

#include<iostream.h>
#include<conio.h>

#define size 100

using namespace std;

void main()
{
int i, j, ch;
char pass[ size ];
cout << "Enter password: ";
for( i=0, j=0; (((ch=getch())!=13) ? pass[ i ]=ch : j=size) && j<size; ++i, ++j )
    cout << '*';
pass[ i ]='\0';
cout << endl << pass << endl;
return;
}

Автор: Gel0s 16.9.2007, 10:18
Ясно...
На сколько я понимаю, на основной вопрос , есть ли жизнь на Марсе и есть ли функция стандартная  ответы были получены... 8(

Автор: Damarus 16.9.2007, 11:49
Цитата(Gel0s @  15.9.2007,  19:40 Найти цитируемый пост)
Есть потребность в консольном приложении при вводе строки, являющейся паролем, скрыть вводимые символы.

SetConsoleMode

Автор: jmp 21.12.2007, 01:31
Цитата(Damarus @  16.9.2007,  11:49 Найти цитируемый пост)
SetConsoleMode 


хмм, а можно пример как это работает?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)