このコードはウィキペディア:
$ char=( 6a 6b 6c 6d 6e 71 74 75 76 77 78 )
$ for i in ${char[*]}; do printf "0x$i \x$i \e(0\x$i\e(B\n"; done
単一行ブロック図の文字を含みます。ターミナルに二重線の境界線文字がありますか?
たとえば、「╢」文字を印刷する方法です。
次のようにC ++プログラムで使用します。
#include <stdio.h>
int main()
{
printf("\e(0\x6a\e(B "); // 188
printf("\e(0\x6b\e(B "); // 187
printf("\e(0\x6c\e(B "); // 201
printf("\e(0\x6d\e(B "); // 200
printf("\e(0\x6e\e(B "); // 206
printf("\e(0\x71\e(B "); // 205
printf("\e(0\x74\e(B "); // 204
printf("\e(0\x75\e(B "); // 185
printf("\e(0\x76\e(B "); // 202
printf("\e(0\x77\e(B "); // 203
printf("\e(0\x78\e(B "); // 186
}
ベストアンサー1
端末設定ではどの文字セットを使用しますか?まだASCIIを使用している場合は、2行のブロックダイアグラム文字を使用できません。 UTF-8を使用している場合は、これらの文字のUTF-8文字シーケンスを送信できます。printf("╢")
あなたのコンパイラがソースコードでUTF-8を許可してgcc
いると思います-finput-charset=UTF-8
。