Ein mit getchar() eingelesenes Zeichen in eine Char Variable einfügen...



  • Hi ich versuche mit getchar() ein Zeichen von der Tastatur einzulesen um es dann anschließend in einem char zu speichern. So sieht mein bisheriger code aus:

    #include <stdio.h>
    #include <conio.h> 
    
    int Taste;
    char buchstabe[1];
    
    void main()
    {
    	Taste = getch();
    	printf ("getch: %d\n", Taste);
    	sprintf (buchstabe,"%d",putchar(Taste));
    	printf ("Buchstabe: %d\n", buchstabe);
    
    }
    

    Das Ganze gibt aber nachher nur einige Zahlen aus... Bin mir auch nicht ganz sicher ob ich sprintf da richtig verwendet habe...



  • Das liegt an Deinen Formatierstring, %d gibt nunmal eine Zahl aus. Ich glaube %c war ein Zeichen, aber das ist schon verdammt lange her.

    Ansonsten kommt es drauf an, bist Du absichtlich im C++-Forum oder wolltest Du eigentlich zu C?

    Fall Du absichtlich hier bist, dann mach die Ausgabe doch einfach über Streams, das ist um Längen einfacher:

    #include <iostream>
    #include <conio.h>  
    
    int Taste; 
    char buchstabe[1]; 
    
    void main() 
    { 
        Taste = getch(); 
        std::cout << Taste;
        std::cout << char(Taste);
    }
    

    Falls es das ist was Du willst. Mir ist nämlich nicht ganz klar, was Du erreichen willst. Auf jeden Fall ist Dein buchstabe zu klein, so daß sprintf über den Bereich hinausschreiben wird.

    MfG Jester



  • Warum sind die beiden Variablen global? Das erinnert mich irgendwie an Basic... 🙄


Anmelden zum Antworten