boa pessoal eu estou estudando programação C e estou com uma dúvida como mudar a cor da fonte
exemplo a cor esta em branco eu quero deixar verde as letras do programa
alguém sabe como?
O programa que você mostrou "para Windows" nem usa os recursos que o Windows traz para o C, mas chama comandos externos do DOS para limpar a tela e trocar de cor. É gambiarra da pior espécie.
A forma de fazer no Linux (ou qualquer outro UNIX) é como eu mostrei. Se você não entendeu, leia a documentação de terminfo e putp, que são partes da biblioteca de manipulação de texto em tela chamada curses (ou ncurses, no caso do Linux).
A única coisa que eu esqueci de mencionar é que você precisa indicar a biblioteca curses na hora de gerar no Linux o executável do programa que eu mostrei. Se você o tiver salvado no arquivo "teste_cores.c", pode compilá-lo com o seguinte comando.
gcc teste_cores.c -o teste_cores -lcurses
3. Re: mudar a cor em programação c [RESOLVIDO]
paulo1205usa Ubuntu
Post recolhido
Enviado em 13/11/2013 - 21:57h
Em C puro, não existe nem cor (nem fonte, nem console).
O que você quer fazer depende do sistema operacional e do tipo de dispositivo em que você está exibindo seu texto. Seria bom que você dissesse em qual SO está trabalhando.
4. Re: mudar a cor em programação c [RESOLVIDO]
joshusa Sabayon
Post recolhido
Enviado em 14/11/2013 - 06:23h
paulo1205 escreveu:
Em C puro, não existe nem cor (nem fonte, nem console).
O que você quer fazer depende do sistema operacional e do tipo de dispositivo em que você está exibindo seu texto. Seria bom que você dissesse em qual SO está trabalhando.
então amigo eu estou programando para Linux mesmo estou usando o Sabayon a minha IDE é editor nano
5. Re: mudar a cor em programação c [RESOLVIDO]
paulo1205usa Ubuntu
Post recolhido
Enviado em 14/11/2013 - 20:48h
O programa abaixo deve dar uma ideia de como fazer em baixo nível.
Note que esse programa funciona mesmo com terminais que não suportam cores, simplesmente ignorando os comandos que pedem para mudar a cor. Se o terminal for muito chinfrim, ignora também os comandos que colocam o modo bold. (Supondo que você esteja com um emulador de terminais que suporte 256 cores simultâneas -- como versões novas do xterm, konsole e gnome-terminal -- experimente rodar o programa variando o valor da variável de ambiente TERM para "dumb", "vt100", "ansi", "xterm-16color" e "xterm-256color".)
Dá para descer mais o nível, amarrando o programa a um tipo de terminal específico e enviando diretamente as sequências de controle particulares desse terminal. Só que eu recomendo que você nunca faça isso -- até porque, como você viu acima, é muito fácil não usar cores, se elas não estiverem presentes.
E dá para subir o nível, usando realmente as funções da libcurses para manipulação de tela, criando uma interface de texto com menus, janelas, campos, painéis etc.
6. Re: mudar a cor em programação c [RESOLVIDO]
joshusa Sabayon
Post recolhido
Enviado em 14/11/2013 - 22:42h
paulo1205 escreveu:
O programa abaixo deve dar uma ideia de como fazer em baixo nível.
Note que esse programa funciona mesmo com terminais que não suportam cores, simplesmente ignorando os comandos que pedem para mudar a cor. Se o terminal for muito chinfrim, ignora também os comandos que colocam o modo bold. (Supondo que você esteja com um emulador de terminais que suporte 256 cores simultâneas -- como versões novas do xterm, konsole e gnome-terminal -- experimente rodar o programa variando o valor da variável de ambiente TERM para "dumb", "vt100", "ansi", "xterm-16color" e "xterm-256color".)
Dá para descer mais o nível, amarrando o programa a um tipo de terminal específico e enviando diretamente as sequências de controle particulares desse terminal. Só que eu recomendo que você nunca faça isso -- até porque, como você viu acima, é muito fácil não usar cores, se elas não estiverem presentes.
E dá para subir o nível, usando realmente as funções da libcurses para manipulação de tela, criando uma interface de texto com menus, janelas, campos, painéis etc.
Boa noite amigo tudo bem?
então eu olhei o seu código e eu não entendi muita coisa não hehehe
sem falar que essa biblioteca curses.h
ela não existe o compilador fala eu tentei de vários jeitos mais nada
tipo eu olhei o código do Windows como referencia mais ou menos
# include <stdio.h>
# include <stdlib.h>
# include <conio.h>
int main(){
system ("cls"); // limpa a tela
system ("color 0B"); // cor de fundo preta e letras azuis brilhantes
printf ("\n\n\t\t\tTESTE: AZUL");
getch();
system ("cls"); // limpa a tela
system ("color 4C"); // cor de fundo vermelha e letras vermelhas brilhantes
printf ("\n\n\t\t\tTESTE: VERMELHO");
getch();
system ("cls"); // limpa a tela
system ("color 5D"); // cor de fundo roxa e letras lilases brilhantes
printf ("\n\n\t\t\tTESTE: LILAS");
getch();
system ("cls"); // limpa a tela
system ("color 0E"); // cor de fundo preta e letras amarelas brilhantes
printf ("\n\n\t\t\tTESTE: AMARELO");
getch();
system ("cls"); // limpa a tela
system ("color 1B"); // cor de fundo azul e letras azuis claras
printf ("\n\n\n");
system ("color /? |more");
getch();
}
e deu certo só que agora agora eu queria transferir isso para Linux
7. Re: mudar a cor em programação c [RESOLVIDO]
joshusa Sabayon
Post recolhido
Enviado em 14/11/2013 - 23:38h
paulo1205 escreveu:
O programa que você mostrou "para Windows" nem usa os recursos que o Windows traz para o C, mas chama comandos externos do DOS para limpar a tela e trocar de cor. É gambiarra da pior espécie.
A forma de fazer no Linux (ou qualquer outro UNIX) é como eu mostrei. Se você não entendeu, leia a documentação de terminfo e putp, que são partes da biblioteca de manipulação de texto em tela chamada curses (ou ncurses, no caso do Linux).
A única coisa que eu esqueci de mencionar é que você precisa indicar a biblioteca curses na hora de gerar no Linux o executável do programa que eu mostrei. Se você o tiver salvado no arquivo "teste_cores.c", pode compilá-lo com o seguinte comando.
gcc teste_cores.c -o teste_cores -lcurses
Nossa amigo Muito Obrigado mesmo agora eu consegui eu não estava conseguindo compilar
eu não estava entendendo por causa da biblioteca curses.h que estava faltando ai eu instalei ela
e consegui compilar mais uma Vez Obrigado :)
8. Re: mudar a cor em programação c [RESOLVIDO]
viana3usa openSUSE
Post recolhido
Enviado em 15/11/2013 - 12:07h
Apenas uma dúvida josh, qual compilador você usa? Pois estou enfrentando o mesmo problema.
9. Re: mudar a cor em programação c [RESOLVIDO]
joshusa Sabayon
Post recolhido
Enviado em 15/11/2013 - 15:19h
viana3 escreveu:
Apenas uma dúvida josh, qual compilador você usa? Pois estou enfrentando o mesmo problema.
estou usando o gcc amigo e voce tem que instalar a biblioteca curses.h
se você usa o ubuntu ta ai o link para instalar essa biblioteca
Basta chamar a biblioteca e usar os nomes da cores, lembrando que funciona sobre para texto, caso queira para outro tipo de dado precisa alterar o tipo de dado do printf de %s para ou outro