回答
您的意思是命令提示符中的輸出文本,然後用戶可以點擊?不,除非終端支持它。 Linux終端通常會自動鏈接符合網址格式的文本,因此您可以僅使用printf("http://stackoverflow.com/\n");
並且它可以點擊,但這取決於終端,而不是您的程序。
當您編寫'直接鏈接'時,您是否意味着可點擊文本或打開網址的方式。無論如何,命令行程序通常會響應命令行參數。您的程序可以在默認瀏覽器中打開一個URL,以響應命令行標誌。在Windows上,您可以撥打ShellExecute - 在其他系統上,system
可能是合適的。
這取決於。例如,在Windows中,這是完全可能的,儘管有點不重要。您可以通過ReadConsoleInput
接收鼠標事件,因此從理論上講,閱讀輸入事件是相當直接的事情,並且如果鼠標點擊您定義爲鏈接的區域,則可以引導用戶看到適合的鏈接 - 如果你想以文本模式顯示網站,這是可能的(儘管如此,顯然不平凡)。如果你想啓動用戶的普通網頁瀏覽器,那就簡單多了(通常只有ShellExecute
的URL)。
在現實中,細節變得有點醜陋。你必須啓用鼠標輸入才能工作。 ReadConsoleInput
爲您提供了一個INPUT_RECORD
,它是許多不同輸入記錄類型的聯合,其中之一是鼠標輸入記錄。當你對鼠標點擊做出反應時,你的代碼嵌套得相當深。沒有任何一種方法無法處理,但除非您已經擁有相當豐富的Windows控制檯編程經驗,否則在您使用Windows控制檯之前可能需要大部分時間(甚至可能更多),而不是小時或兩個你最初猜測。
當然,這是嚴格適用於Windows的 - 如果您想將代碼移植到另一個系統,我猜想您很可能會看到完全重寫。對於圖形用戶界面,有相當多的跨平臺庫,但文本模式鼠標操作幾乎沒有得到很好的支持。
GPM不是Linux的等價物嗎? http://freshmeat.net/projects/gpm/ – 2010-04-18 01:55:13
在Unix和Mac系統上,你可以調用'system()'或'popen()'(或者如果你想變得瘋狂並且完美無缺,可以使用'fork ()'和'exec()',這給了你更多的控制權)來啓動一個瀏覽器,將URL作爲命令行參數。在Mac上,如果給定一個URL參數,命令'open'將會啓動用戶的瀏覽器,所以類似'std :: string cmd(「open'」); cmd + = url; cmd + =「'」;系統(cmd.c_str());'可能會訣竅。我不知道如何在Linux中啓動用戶首選的瀏覽器; Gnome和KDE可能會有所不同。附: *確保你正確地轉義URL。* – 2010-04-18 01:55:31
- 1. 你可以從C應用程序鏈接一個C++庫嗎?
- 2. 你可以添加一個對象到C#監視器嗎?
- 3. 一個鏈接到一個鏈接在C++ 11 foreach循環
- 4. 如何添加一個lib文件以鏈接到Visual C++ 2010?
- 5. 鏈接一個C++程序與SpiderMonkey?
- 6. 你可以讓一個C#應用程序自動添加帖子給Yammer嗎?
- 7. 你可以直接指定一個C#屬性的訪問器嗎?
- 8. 你可以連接一個TabViewController和PageViewController到一個ViewController嗎?
- 9. 鏈接到一個c/C++庫
- 10. 一類添加到一個錨鏈接
- 11. 你可以在C++程序中創建一個.java文件嗎?
- 12. 我可以添加一個動態方法到c#中的接口嗎?
- 13. 你可以用鏈接調用一個servlet嗎?
- 14. 直接鏈接到另一個gsp
- 15. 直接鏈接到一個標籤
- 16. 鏈接一個C++應用程序再DLL一個
- 17. 鏈接一個C++庫:Restbed
- 18. C#直接到另一個頁面
- 19. 以symfony形式添加一個鏈接
- 20. c#如何添加一個鏈接到響應消息
- 21. 添加到C++應用程序C#GUI
- 22. 多表連接 - 我可以添加一個外連接嗎?
- 23. 添加一個超鏈接到noty alert
- 24. 我可以在StreamReader套接字C#上收到一個int嗎?
- 25. 如何將獨立測試鏈接添加到一個鏈接?
- 26. 添加一個超鏈接到由JSON
- 27. 添加一個鏈接到dhtmlxGrid
- 28. C# - 自動添加「X」個按鈕,一個接一個。
- 29. 添加書籤鏈接到一個Facebook iframe應用程序
- 30. 得到一個鏈接錯誤的C程序在GCC
該死,好吧謝謝任何方式。 – TheEliteOne 2010-04-18 02:45:00