como voltar para alguma posição já impresso em C?
Pergunta
Vamos ter uma situação em que o seguinte programa imprime cerca de 10 linhas de #
for(i=0;i<10;i++)
prinf("\n#");
Agora, como voltar a 5ª linha e editar que # e mudar a cor do mesmo sem limpar a tela ou limpar a seguir 5 linhas?
Eu tentei
window(5,0,20,20);
textcolor(GREEN);
cprintf("#");
mas não é a edição que um, mas está imprimindo no lado do one.why original?
Existe alguma outra maneira de fazê-lo e mudar a cor do texto já impresso dinamicamente? por favor ambiente ajuda me..my é turbo c no Windows
Solução
função de janela geralmente criar uma janela a partir de 1º de duas coordenadas de pixel ou seja, no seu exemplo (5,0) ao pixel apontado por próximos 2 coordenadas. para que o seu programa deve funcionar
experimentá-lo ou utilização outra gotoxy ()
Outras dicas
Parece que você está misturando printf e outra biblioteca de saída - isso não é recomendado. espera printf para ser enviado a um terminal de caracteres, enquanto a biblioteca de saída em questão pode falsly assumir que ele tem acesso exclusivo (e misbehave poder.)
Com base em uma função, você está provavelmente a utilizar conio.h. A documentação pode ser encontrada aqui , com um índice mostrando cada função disponível. A partir desse índice, você deve ser capaz de detectar a função imediatamente.
A função de janela não faz o que você quer que ele, uma vez que só define a área em que o cursor pode alterar o texto - não mover o cursor, você precisa usar as outras funções de biblioteca.
-1:
Algumas dicas para postar perguntas de casa:
1) Obter o direito pergunta! O código postado não executa como a descrição estados:
for(i=0;i<10;i++)
prinf("#");
Isto irá imprimir 10 caracteres #
em uma linha, como não existe um caracter de fim de linha. A descrição fala originais sobre "imprimir 10 linhas."
2) Dê detalhes necessários: Que ambiente você está usando: Windows? Linux? O compilador? É este um ambiente baseado em texto janelas ou?
3) STFW antes de postar. Procure por "ANSI Sequências de Escape" ou "posicionar o cursor."
talvez-
cprintf("\b#");
'b' é para backspace