read string & print char/int as hex-value

  • 1. Will eine Zeichenkette beliebiger Größe einlesen. gets ist unsicher, bei scanf muss ich die Buffergröße angeben .. welche Möglichkeit bleibt? Ich hätte mit getchar Zeichen für Zeichen bis zu einem Enter eingelesen, bei Platzbedarf das speichernde Array durch ein größeres ersetzt - nur ist die Variante etwas mühsam.

    2. Will in C einen char/int als Hex-Wert ausgeben, also z.B. "43" für ein "C" (bzw die Dezimalzahl 67) - gibt's eine Funktion, die mir hier hilft, oder muss ich das ganze "zu Fuß" erledigen?

  • Zitat von Irrlicht

    Für 1) probier mal:

    Code
    std::string c;
    std::cin >> c;


    Hehe danke, aber ich hab nur C zur Verfügung, nicht C++ ;). Das 2. klappt, hab Dank.

    Zitat von sauzachn

    comp.lang.c FAQ


    Wieso ich nicht dran gedacht habe .. guter Tipp, dankeschön.

  • Zitat von JohnFoo

    Liest aber auch bis zu einer gewissen Größe ein - ich weiß vorher nicht, wie groß der String wird. Gibt's dafür keine Lösung?


    In C mit char* geht das nur sehr umständlich. Es gibt aber auch String-Libraries, die selbständig den String vergrößern können, wenn das notwendig ist. Ich hab mich aber schon lange nicht mehr mit C plagen müssen, also such mal auf freshmeat.net oder im Google!

    Dipper dipper dii dipper dii dipper dii duuu

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!