Set console-Titel in C++ mit string
Ich würde gerne wissen, wie man ändern Sie die Konsolen-Titel in C++ unter Verwendung einer Zeichenfolge als neue parameter.
Ich weiß, Sie können verwenden Sie die SetConsoleTitle
- Funktion der Win32-API, aber das funktioniert nicht mit einem string-parameter.
Ich brauche das, weil ich bin dabei ein Java native interface Projekt mit Konsole, Effekte und Befehle.
Ich bin mit windows, und es hat nur kompatibel mit Windows.
SetConsoleTitle
akzeptiert einen string- google zuerst Ihr problem, es ist so einfach zu finden...
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den
SetConsoleTitle
- Funktion funktioniert ja nehmen Sie ein string-argument. Es ist nur so, dass die Art der Zeichenfolge hängt von der Verwendung des UNICODE-oder nicht.Verwenden Sie z.B. die
_T
makro, um sicherzustellen, dass die wörtliche Zeichenkette im richtigen format (wide-character-oder byte):Wenn Sie z.B.
std::string
erhalten die Dinge ein wenig komplizierter, als Sie vielleicht zu konvertieren zwischenstd::string
undstd::wstring
je nach_UNICODE
makro.Eine Möglichkeit, nicht mit zu tun, dass die Konvertierung immer nur
std::string
wenn_UNICODE
ist nicht definiert, oder nurstd::wstring
wenn es definiert ist. Diese kann getan werden, indem eintypedef
im"stdafx.h"
header-Datei:Wenn Ihr problem ist, dass
SetConsoleTitle
nichtstd::string
(oderstd::wstring
) es ist, weil es kompatibel mit C-Programmen, die nicht über die string-Klassen (oder Klassen überhaupt). In diesem Fall verwenden Sie diec_str
von den string-Klassen einen Zeiger auf die Zeichenfolge verwendet, mit der Funktion, die verlangen, dass old-style-C-strings: