[C] spostare il cursore nella shell

di il
1 risposte

[C] spostare il cursore nella shell

Buongiorno a tutti,

Avrei bisogno di una libreria che mi permetta di spostare il cursore nella shell e quindi di scrivere nella posizione che preferisco con la printf().

mi spiego meglio vorrei fare un semplice programmino che visualizzi una riga con scritto:

stato del programma: [10%]

solo che il 10% voglio farlo diventare 20 e poi trenta e così via.. senza andare a capo.

qualcuno di voi sa aiutarmi?

P.S. io lavoro su mac e su linux quindi mi servirebbero librerie adatte a Unix.

1 Risposte

  • Re: [C] spostare il cursore nella shell

    Esiste il comando di escape \r che permette di spostare il cursore all'inizio della riga selezionata. In alternativa (non sono sicuro che sia presente anche in ambiente Unix) c'è la funzione gotoxy, dichiarata nell'header conio.h. Per spostare il cursore dove si desidera è sufficiente impostare i parametri con i valori di X e Y (rispettivamente le posizioni sugli assi delle ascisse e delle ordinate)

    NOTE:
    - per la funzione gotoxy, l'origine dell'ipotetico piano cartesiano è in alto a sinistra, cioè la posizione iniziale del cursore all'avvio di ogni programma, gotoxy(0, 0)
    - per entrambe le soluzioni, se si stampa una stringa in una posizione dove ne è gia presente una, e quella nuova è più corta, rimarranno alcuni caratteri della stringa precedente. Esempio:
    printf("Buongiorno mondo\rCiao");
    Risultato
    Ciaogiorno mondo
    Mio consiglio: al termine della printf scrivere una serie di spazi vuoti, in modo da coprire quelli vecchi; cosi la stringa avrà sempre la stessa lunghezza. Svantaggio: se si scrivono più stringhe una dopo l'altra ne può perdere un pò l'estetica
Devi accedere o registrarti per scrivere nel forum
1 risposte