答え1
あなたの命令には何の問題もありませんhtop
制御文字を疑問符に置き換える:
(((unsigned char)data_c[j]) >= 32 ? ((unsigned char)data_c[j]) : '?')
(32以下の値を持つ文字は制御文字です。)
答え2
htopプロセスマネージャは有効なソートオプションではなくタブ文字として解釈されるため、ソートコマンドが表示され$'\t'
ます。?
\t
ソートコマンドは、コマンドがソート\t
されるフィールドを指定するための区切り文字として使用されます。ただし、htop では有効な区切り文字ではないため、ソート列に ? と表示されます。
-kオプションを使用してソートフィールドを指定し、-tオプションを使用して区切り文字を指定できます。たとえば、htop -u -p -k 2,2 -t ' '
スペースを区切り文字として使用して、2番目のフィールドに基づいてソートします。