#c #printing #colors #space #xterm
#c #печать #Цвет #Космос #xterm
Вопрос:
Кто-нибудь может сказать мне, как напечатать цветные пробелы с использованием C в xterm? Все, что я мог в конечном итоге напечатать, это цветные буквы, но как бы я ни старался, я не могу заставить его печатать цветные пробелы.
id_print_str("33[22;31m A")
Я не могу заставить вышеуказанную вещь печатать цвет, если A должен был быть заменен пробелом. тем не менее, я не знаю, как закрыть его, чтобы не менять весь цвет xterm.
Комментарии:
1. Измените его обратно на то, что было раньше. Как вы узнаете, что это было раньше? Понятия не имею. Вероятно, вам следует просто установить для него какой-нибудь цвет по умолчанию в начале, а затем использовать его.
Ответ №1:
Как насчет этого:
/* Print the red block. */
printf("33[;41m n");
/* Reset terminal. */
printf("33[0;m");
Об этом есть хорошая и короткая статья в linuxgazette: Таинственные ^[[
символы.
Комментарии:
1. но если я сброшу его, сохранит ли он цвет A? и работает ли это таким образом? printf(«33[;41m 33[0;m»)
2. @Slrs Почему бы вам просто не попробовать это 🙂 «Сброс» означает, что все, что следует, будет напечатано как обычно.
3. @cnicutar @ Seth Carnegie Спасибо.
Ответ №2:
Возможно, вы могли бы использовать библиотеку ncurses. Для одного цветного пробела это может быть излишним, но если вы хотите создать сложное терминальное приложение, это должен быть правильный инструмент.