Edytowanie tekstu w C++/C
Ostatnio zmodyfikowano 2011-04-03 11:47
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 |
|
Elano92 |
» 2011-04-03 11:08:26 pokaż dotychczasowe dzieło |
|
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.
|
|
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 :) |
|
ison |
» 2011-04-03 11:37:30 o coś takiego chodzi? #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() ); }
|
|
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.
|
|
« 1 » |