Fortschrittsbalken/anzeige



  • Hallo liebe programmierer 😃
    ich sehe oft bei linux wenn man was herunterlädt dann erscheint sowas

    [=== > kb

    oder ähnliches.
    Mich würde noch was interessieren:
    ist sowas zu machen?

    Hier wird der code laufend angezeit,wie ganz normal
    ---------------------------------------------------
    hier die fortschrittsanzeige
    

    Wie kann man sowas progen?
    am besten ein tut oder sowas ähnliches.
    vielen dank im voraus

    grüsse

    Regards!



  • mit \r sollte der cursor zurück an den anfang der zeile springen. So kannst du den balken immer wieder neu ausgeben.



  • ich habe mal was versucht aber es ginge nicht

    for(i = 0;i<10;i++) {
    
              printf("\r="); }
    

    wie muss ich das denn machen?

    vielen dank im voraus



  • z.B. so:

    int main()
    {
            int i;
            char str[256] = "";
            for (i=0; i<50; ++i)
            {
                    strcat(str, "=");
                    printf("\r%s", str);
                    fflush(stdout);
            }
            return 0;
    }
    


  • kleine verfeinerung:
    ">" wird vor dem balken hergeschoben.
    mit sleep(); wird der effekt besser sichtbar.
    gibt natürlich noch mehr möglichkeiten.

    #include <stdio.h>
    
    int main()
    {
        int i = 0;
        char str[256] = "";
    
        for(i = 0; i < 50; ++i)
        {
            strcat(str, "=");
            printf("\r%s", str);
            printf(">");
            fflush(stdout);
            sleep(100);
        }
    
        getch();
    
        return 0;
    }
    


  • Am coolsten finde ich:

    #include <stdio.h> 
    
    int main() 
    { 
        int i = 0; 
        char str[256] = ""; 
    
        for(i = 0; i < 50; ++i) 
        { 
            str[i]=219;
            printf("\r%s", str); 
            printf("%c",177); 
            fflush(stdout); 
            _sleep(100); 
        } 
    
        getch(); 
    
        return(0); 
    }
    

    mfg hohesC


Anmelden zum Antworten