Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Edytowanie tekstu w C++/C

Ostatnio zmodyfikowano 2011-04-03 11:47
Autor Wiadomość
przemekmii
Temat założony przez niniejszego użytkownika
Edytowanie tekstu w C++/C
» 2011-04-03 10:42:17
Witam,
mam pytanie czy jest jakaś funkcja która wypisuje tekst który podaliśmy wcześniej, który możemy go edytować bądź nie i po naciśnięciu klawisza enter zostaje wysłane do strumienia danych. ?
Oczywiście piszę program na konsole. Mam takie przeczucie że trzeba użyć tutaj jakiegoś triku bądź odpowiednia funkcja znajduje się w conio.h bądź windows.h . Niestety nie znalazłem jej.

Jeżeli ktoś tego nie rozumie zaprezentuję to na przykładzie "herezji".

cin>>x>>(cout<<"tekst edytowany");

ktoś ma może jakieś pomysły albo wie jak takie coś uzyskać?
Dodam jeszcze że włączając konsole w windows i wpisując jakieś polecenie potem naciskając szczałke możemy edytować to co wpisaliśmy. Chodzi mi dokładnie o taki patent.
 

pozdrawiam Przemek
P-30185
Elano92
» 2011-04-03 11:08:26
pokaż dotychczasowe dzieło
P-30186
przemekmii
Temat założony przez niniejszego użytkownika
» 2011-04-03 11:18:34
Nie będę pokazywał dzieła... ponieważ to nie ma sensu. Nie mam problemu z programem(jeszcze) chcę takie coś wprowadzić aby program był bardziej efektywny. Piszę książkę adresową i kalkulator macierzowy.

zamiast np: przepisywać od nowa z "Ala ma kota" na "Kot ma Ale", program miał by wypisać to a następnie edytować ten tekst. Po naciśnięciu klawisza enter wysyła do strumienia/ bądź zapisuje do zmiennej. 
P-30187
Pirotechnik
» 2011-04-03 11:34:30
Ty chcesz edytować tekst przed kompilacją czy po niej bo to 2 nie za bardzo jest możliwe :)
P-30188
ison
» 2011-04-03 11:37:30
o coś takiego chodzi?

C/C++
#include <cstdio>
#include <conio.h>
#include <string>

void read( std::string & str, const std::string & label )
{
    str = label;
    printf( "%s", label.c_str() );
    char key = 0;
    while( key != '\r' ) {
        if( key != 0 && key != '\b' ) {
            putchar( key );
            str += key;
        }
        else if( key == '\b' && str.size() ) {
            printf( "\b \b" );
            str.resize( str.size() - 1 );
        }
        key = _getch();
    }
}

int main()
{
    std::string str;
    printf( "> " );
    read( str, "Wpisz tekst" );
    printf( "\nWPISALES: %s\n", str.c_str() );
}
P-30189
przemekmii
Temat założony przez niniejszego użytkownika
» 2011-04-03 11:47:57
Tak właśnie o coś takiego mi chodziło :)

Wielkie dzięki ison :) i reszcie użytkowników. Ciekawy kod :P

Temat do zamknięcia.
 
P-30190
« 1 »
  Strona 1 z 1