我想知道如何使用字符串作爲新參數在C++中更改控制檯標題。
我知道你可以使用Win32 API的SetConsoleTitle
函數,但是不需要字符串參數。
我需要這個,因爲我正在用控制檯效果和命令做一個Java本地接口項目。
我正在使用Windows,它只需要與Windows兼容。使用字符串在C++中設置控制檯標題
0
A
回答
7
的SetConsoleTitle
功能確實確實有一個字符串參數。只是字符串種類取決於使用或UNICODE或不。
你必須使用例如在_T
宏來確保文字字符串是正確的格式(寬字符或單字節)的:
SetConsoleTitle(_T("Some title"));
如果使用例如std::string
事情會變得更復雜一些,因爲根據_UNICODE
宏,您可能必須在std::string
和std::wstring
之間進行轉換。
如果未定義_UNICODE
,或者只有定義了std::wstring
,則無需執行該轉換的一種方法是始終僅使用std::string
。這可以通過在"stdafx.h"
頭文件中添加typedef
來完成:
#ifdef _UNICODE
typedef string std::wstring
#else
typedef string std::string
#endif
如果你的問題是,SetConsoleTitle
並不需要std::string
(或std::wstring
),這是因爲它有可能是其沒有按」 C程序兼容沒有字符串類(或類)。在這種情況下,你使用string類的c_str
得到一個字符串指針,以與需要老式的C字符串函數中使用:
string title = _T("Some title");
SetConsoleTitle(title.c_str());
+1
請注意,如果你有不正確的字符大小,你不需要顯式地轉換字符串,你可以明確地調用適當的版本功能。在這種情況下,您可以調用SetConsoleTitleA(用於ANSI字符串)或SetConsoleTitleW(用於Unicode字符串)。 –
2
相關問題
- 1. 設置控制器標題字符串「設置」不起作用
- 2. 使用Unicode字符的C#控制檯字符串填充
- 3. 設置R控制檯的標題
- 4. c#控制檯後字符串writeline
- 5. 在Objective-C控制檯應用程序中讀取字符串?
- 6. 使用資源字符串在MainWindow.xaml中設置標題
- 7. 什麼是C++中的WinXP控制檯光標控制字符?
- 8. 如何在控制檯應用程序中設置默認連接字符串?
- 9. C#控制檯圖書館的app.config連接字符串問題
- 10. c#使用控制檯將字符串拆分爲列
- 11. 問題與設置字符串C#
- 12. Unicode字符在控制檯通過C++
- 13. 使用字符串設置控件屬性C#
- 14. 在控制檯中對字符串使用分隔符,然後將其設置爲變量
- 15. 使用控制檯字符清除多個控制檯行
- 16. 使用新字符串在linux/windows控制檯輸入命令
- 17. 控制檯應用程序輸入參數 - 字符串標識
- 18. cout字符串期間在控制檯上閃爍光標
- 19. C#Powershell設置控制檯文件
- 20. C#控制檯應用程序解碼url編碼字符串
- 21. Objective C - 如何比較控制檯中的字符串
- 22. d3 - 控制檯中的csv文件標題行,如果字符串類型
- 23. 控制檯中使用printf的C++ unicode字符?
- 24. 如何在C++的特定座標處將字符串打印到控制檯?
- 25. 置字符串使用C
- 26. 從控制檯讀取字符串
- 27. 控制檯輸出到字符串
- 28. 在控制檯應用程序中聲明連接字符串
- 29. 在控制檯應用程序中定義連接字符串
- 30. 在控制檯應用程序中獲取連接字符串
'SetConsoleTitle'確實先接受一個字符串 – nico
谷歌你的問題,這是很容易找到... –