Mit cout ausgegebenen Text markieren

Hier muss es doch einen Trick geben: Ich gebe einen beliebigen Text mittels cout auf der Konsole aus. Jetzt möchte ich diesen Text markieren und kopieren. Vielen Dank im voraus für Eure Tipps!

Hallo erstmal

Hier muss es doch einen Trick geben: Ich gebe einen beliebigen
Text mittels cout auf der Konsole aus. Jetzt möchte ich diesen
Text markieren und kopieren.

Windows oder *nix ? Unter Windows 2000 kann man Text in der Eingabeaufforderung mit der Maus markieren und kopieren.
Alternativ schreibt man statt in cout gleich mit ‚fstream‘ in eine Datei.

mfg M.L.

Windows oder *nix ? Unter Windows 2000 kann man Text in der
Eingabeaufforderung mit der Maus markieren und kopieren.
Alternativ schreibt man statt in cout gleich mit ‚fstream‘ in
eine Datei.

mfg M.L.

XP! Ich bilde mir eben ein, dass das schon mal ging, war dann wohl ein 2000. Habe es jetzt mit fstream umgangen, wäre trotzdem interessant, wieso das bei XP nicht geht. Vielen Dank fürs Mitgrübeln!

Hallo Peter

Wenn du es über die Kommandzeile startest, geht es auch so:

C: cd meineProggies
C:/meineProggies/proggy.exe \> C:/log.txt

Du hast dann die ganze Ausgabe in der Textdatei.

lG
Martin

Hallo Peter.

Du wenn du den ausgegebenen Text markieren und dann in die Zwischenablage kopieren willst, wiso lässt du das dan nicht gleich von deinem Programm erledigen?

Kopier einfach den String, den du ausgiebst in die Zwischenablage. Folgende Funktion sollte das erledigen:

void SetClipboardText(char\* strData, HWND hwnd)
{
 if (OpenClipboard(hwnd))
 {
 EmptyClipboard();
 HGLOBAL hClipboardData;
 hClipboardData = GlobalAlloc(GMEM\_DDESHARE, strlen(strData));
 char \* pchData;
 pchData = (char\*)GlobalLock(hClipboardData);
 strcpy(pchData, LPCSTR(strData));
 GlobalUnlock(hClipboardData);
 SetClipboardData(CF\_TEXT,hClipboardData);
 CloseClipboard();
 }
}

mfg dixxi

Vielen Dank für Eure Tipps! Ich habe auf jeden Fall ein neues Problem: wie bekomme ich den soeben kopierten Text in ein cin hinein? Ich habe das ganze Programm jetzt auf GUI umgestellt, damit fallen alle diese Probleme weg.

wie bekomme ich den soeben kopierten Text in ein cin
hinein? Ich habe das ganze Programm jetzt auf GUI umgestellt

Was willst du eigentlich im Endeffekt damit bewirken?

Wenn du einen Text ausgiebst, wiso solltest du ihn dann wieder einlesen wollen? Speichere ihn doch einfach in einer Variable, dann kannst du später wieder darauf zurückgreifen. (char array oda std::String)

Außerdem kannst du in einem GUI Programm mit cout und cin nichts mehr ausgeben und einlesen, du hast ja schließlich keine Konsole mehr.

Beschreib doch bitte einmal, was du im großen und ganzen bezwecken willst.

mfg dixxi

Also ich habe ein Chiffrierprogramm geschrieben, das einen AnsiString auf Basis eines Zufalls-Keys chiffriert. Das Ergebnis wird in ein Dechiffrierprogramm eingelesen. Mit der GUI ist das überhaupt kein Problem (Edit1->Text). Aber mit cout und cin hat das nicht hin. Kein Problem, wir wollten ohnehin im Kurs langsam zur GUI übergehen. Vielen Dank, Peter

Hallo nochmal

Mit der
GUI ist das überhaupt kein Problem (Edit1->Text). Aber mit
cout und cin hat das nicht hin.

Falls es (noch) interessiert: mit VC++ 2008 geht das auch mit StreamReader und StreamWriter

mfg M.L.