Einzelne Buchstaben in C ausgeben?



  • Hi, ist es irgendwie möglich in C einzelne Buchstaben nach gewisser Zeit auszugeben? Also nicht gleich "Willkommen!" sondern "W" dann Pause, dann "i", dann wieder eine Pause, dann "l", dann wieder eine Pause und so weiter.

    Ich habs bis jetzt mit "printf-sleep-ketten" geschafft.
    Dies ist aber zu aufwendig!

    Beispiel:

    printf("W"); Sleep(25); printf("i"); Sleep(25); printf("l"); Sleep(25); printf("l"); Sleep(25); printf("k"); Sleep(25); 
    	printf("o"); Sleep(25); printf("m"); Sleep(25); printf("m"); Sleep(25); printf("e"); Sleep(25); printf("n"); Sleep(25); printf("! ");
    

    Sieht schlimm aus, ich weiß .. xD
    Es muss doch ne andere, leichtere Möglichkeit geben?

    Danke!!



  • void print_fancily(char const *message) {
      char const *p;
    
      for(p = message; *p; ++p) {
        putchar(*p);
        fflush(stdout);
        Sleep(25);
      }
    }
    

    ?



  • Und wo gebe ich dann meinen Text, der ausgegeben werden soll, ein?
    anstatt *p ?



  • Da wo dein printf-Geraffel steht schreibst du:

    print_fancily("Willkommen!");
    


  • Da kommt n' Fehler
    Mein Quelltext sieht grad so aus:

    #include <stdio.h>
    #include <windows.h>
    #include <conio.h>
    
    void print_fancily(char const *message)
    {
    
    	char const *p;
    	for(p = message; *p; ++p) {
    		putchar(*p);
    		fflush(stdout);
    		Sleep(25);
    	}
    
    	print_fancily("Willkommen!");
    
    }
    

    Die Fehlermeldung lautet:

    c:/mingw-4.4.1/bin/../lib/gcc/mingw32/4.4.1/../../../libmingw32.a(main.o):main.c:(.text+0xd2): undefined reference to `WinMain@16'

    Was ist hierbei das Problem?



  • Jedes Programm braucht eine main-Funktion, oder halt eine WinMain für Win32-Programme. Die fehlt bei dir. Schreibe eine WinMain und rufe deine Funktion darin auf.



  • Besser: Lies ein Buch oder zumindest ein Tutorial.


Log in to reply