Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Saya Boleh Mencetak Teks Berwarna dalam Terminal Linux?

Bagaimanakah Saya Boleh Mencetak Teks Berwarna dalam Terminal Linux?

Barbara Streisand
Barbara Streisandasal
2024-12-23 07:21:11185semak imbas

How Can I Print Colored Text in a Linux Terminal?

Mengoutputkan Teks Berwarna ke Terminal Linux

Soalan: Bagaimanakah saya boleh memaparkan teks berwarna dalam terminal Linux yang menyokong ciri ini?

Jawapan: Untuk mengeluarkan berwarna aksara, anda perlu menggunakan kod warna ANSI. Walau bagaimanapun, adalah penting untuk ambil perhatian bahawa tidak semua terminal mempunyai keupayaan ini. Jika jujukan warna tidak disokong, terminal akan memaparkan sampah sebaliknya.

Sebagai contoh:

cout << "3[1;31mbold red text3[0m\n";

Dalam contoh ini, 33 ialah aksara Escape, ASCII 27. Ia diikuti oleh [ , kemudian satu atau lebih nombor dipisahkan dengan ;, dan akhirnya huruf m. Nombor menentukan warna dan pemformatan untuk digunakan dari titik itu ke hadapan.

Kod Warna:

Kod untuk warna latar depan dan latar belakang adalah seperti berikut:

Foreground Background
30 40 (Black)
31 41 (Red)
32 42 (Green)
33 43 (Yellow)
34 44 (Blue)
35 45 (Magenta)
36 46 (Cyan)
37 47 (White)

Kod Tambahan:

Selain itu, anda boleh gunakan kod ini:

Code Description
0 Reset (everything back to normal)
1 Bold/Bright (often a brighter shade of the same colour)
4 Underline
7 Inverse (swap foreground and background colours)
21 Bold/Bright off
24 Underline off
27 Inverse off

Rujuk halaman Wikipedia untuk mendapatkan kod lanjut yang kurang disokong secara meluas.

Semakan Sokongan Terminal:

Untuk menentukan sama ada terminal anda menyokong jujukan warna, periksa nilai pembolehubah persekitaran TERM. Ia harus menunjukkan jenis terminal khusus yang digunakan (cth. vt100, gnome-terminal, xterm, skrin, ...). Selepas itu, semak keupayaan warna dalam pangkalan data terminfo.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mencetak Teks Berwarna dalam Terminal Linux?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn