[英]Highlighting or underlining output to stdout on Windows
我需要將Perl腳本從Linux移植到Windows。 腳本輸出到stdout並突出顯示並根據需要為特定單詞加下划線。 在Linux中,這可以通過將系統調用包含在tput
:
tput smso
和tput rmso
用於突出顯示
tput smul
和tput rmul
強調
Windows上是否有可以輕松實現此功能的系統調用? 如果沒有,有沒有人知道可以實現類似結果的解決方法?
如果您使用Perl輸出內容,至少Win32 :: Console也可以在Windows上進行下划線(10以后):
my $win32_console Win32::Console->new();
# Rendering is flakey under Windows 10
my $attr = 0x8000 # COMMON_LVB_UNDERSCORE, Windows 10 onwards
| 0x4000 # COMMON_LVB_REVERSE_VIDEO, Windows 10 onwards
;
$console->Attr($attr);
$console->Write("Hello World");
但是,如果你只是在尋找一個真正快速的移植修復, Win32 :: Console :: ANSI將“神奇地”將輸出中的所有ANSI序列轉換為適當的控制台調用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.