[RISOLTO][C] system("COLOR **") per una sola printf

di il
2 risposte

[RISOLTO][C] system("COLOR **") per una sola printf

Ciao, ho un problema credo banale ma non riesco a trovare la soluzione.
Usando system("COLOR **"); seguito da varie printf mi viene colorato nella shell tutto ciò che appunto segue il system. A me invece interessa che venga colorata una sola riga.
Ho provato due metodi che trovato su vari forum: il primo diceva che per ritornare alle impostazioni standard andava usato system("COLOR F"); mentre in un altro solo system("COLOR");.
Chiaramente li ho scritti dopo la printf che mi interessava colorare: nel primo caso il risultato era come se mi ignorasse il system prima della printf e colorasse sempre il tutto di bianco, nel secondo caso invece non è cambiato niente.

2 Risposte

  • Re: [RISOLTO][C] system("COLOR **") per una sola printf

    Non puoi usare il COLOR del DOS per le singole righe.

    Utilizza le API per gestire la Console e in particolare quelle per i colori

  • Re: [RISOLTO][C] system("COLOR **") per una sola printf

    Grazie mille! Ora ci provo, non ho mai usato quella sintassi, nel caso in cui non ci riuscissi, vi chiederò come fare

    Edit: Ho risolto con
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),
                          FOREGROUND_INTENSITY | FOREGROUND_GREEN);

    e subito dopo la stessa sintassi impostata con i colori normali. Credo sia molto simile a quella della documentazione di Microsoft. (Ho chiaramente implementato windows.h>
Devi accedere o registrarti per scrivere nel forum
2 risposte