Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > можно ли сделать чтобы введённые символы


Автор: toader 1.7.2009, 15:59
можно ли сделать чтобы введённые символы афтаматически менялись к примеру в "*" тоисти до нажатия ЕНТЕР он их меня к примеру

в терминале надписи "Напишыте пароли"
мы водим "н" ишё не нажали нечего кроме "н" у нас в терминале уже "*" и так все символы.. можно? и как? большое спасибо.

Автор: andrew_121 1.7.2009, 16:11
Ты прикалываешься?!!!
 smile вот твоя тема: http://forum.vingrad.ru/forum/topic-265073.html
 smile 

Автор: toader 1.7.2009, 16:16
Цитата(andrew_121 @ 1.7.2009,  16:11)
Ты прикалываешься?!!!

там был другой вопрос я тот вопрос решыл уже, это другой.. я там изменил но там уже все ответили и скорее всего не заметят что я изменил первоночалиный вопрос и тему ту уже закрыл

Автор: andrew_121 1.7.2009, 16:52
toader, Вопрос ведь тот-же! Я же тебе дал код который это и делает!

Автор: toader 1.7.2009, 16:57
код что ты дал у меня уже ести он после нажатия ентера меняет символы в * и то толико для Виндоуса.. я на линуксе и я исполизую не стандартный компилятор а ганимедия еклипсе, и нечего не получается.. может и за того что я его не правелино перевёл на линукс?((

Добавлено через 4 минуты и 50 секунд
вот попробуй сам убедишся что это совсем не то:

Код

#include <iostream>
#include <string>
using namespace std;

int main(int argc, const char **argv) {
    std::string buf;
    std::string::iterator it;
    char ch = 0;
    while ( ch != 13 ) {
        buf += ch;
        putc('\r', stdout);
        for ( it = buf.begin(); it != buf.end(); it++ ) {
            putc('*', stdout);
        }
        putc('\r', stdout);
        /*  */
        cin.get(ch);
    }

    printf("You entered - %s\n", buf.c_str());
    return 0;
}


Добавлено через 14 минут и 59 секунд
ив Терминале тоже не правельно работает ( в винде он МсДОС назевается )

Автор: andrew_121 1.7.2009, 17:50
toader, Ты мой код неправильно изменил!
Вот из-за этой строки:
Код

        cin.get(ch);

он и работает неправильно!!!!
Еще перед циклом строка должна быть! А ты ее УДАЛИЛ!!!!!!!



вот ###... пошел пить пиво...

Добавлено через 12 минут и 36 секунд
Ты этим пользуешься?
http://www.eclipse.org/ganymede/

Автор: andrew_121 1.7.2009, 18:50
Вот ответ!
http://forum.shelek.ru/index.php/topic,9792.0.html

Читай, просвещайся, и кланяйся в ноги smile 

Автор: toader 3.7.2009, 14:07
всё сделал.. в терминале работает а вот в консоле еклипсы нет(

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