Autocast zickt rum

Psyjo

Psyjo

Routinier
Hallo!

Ich habe mir mal wieder den Spaß gemacht und ein wenig C programmiert. In dem Progrämmchen das ich da in den vi gehämmert habe rufe ich eine Funktion auf, die einen unsigned int in einen string (der int in binär) umwandelt. Ich rufe die Funktion folgendermaßen auf:
Code:
string strb;
char c;

fscanf(stdin, "%c", &c)
strb += i2bin(c,8);
strb ist bei in dem Fall ein std::string in dem der ganze Knet gespeichert wird.
Das Problem an der ganzen Sache ist, das c von char nach int autocastet wird, das ganze aber nur Funktioniert wenn c kleiner 100 ist. Sobald c 100 erreicht, wird immer nur 0 übergeben.
Der Fehler liegt auch sicher an dieser Stelle, da ich auch schon versucht habe das Problem über eine Puffer-variable zu lösen - leider erfolglos.

Hättet ihr möglicherweise eine Lösung für dieses Problem ?

MfG
Psyjo
 
kannst du vielleicht noch deine i2bin fnc posten?
 
Das könnte jede Funktion sein; ich habe mir die angenommenen Parameter direkt nach Start der Fkt angesehen.... wenn mehr als 99 in dem Zeichen steht kommt da 0 an.

MfG
Psyjo

====
EDIT
====

Fehler gefunden !

ein
Code:
 sprintf(buf, "%d.", c);

hat c geleert, demnach konnte ich auf den Inhalt nicht mehr zugreifen.
 
Zuletzt bearbeitet:

Ähnliche Themen

'libraryname': undefined reference to 'functionname'

wirre zeichen :(

[C++] Socket Probleme mit Adresse...

Aus Datei lesen

strncat() - Denkfehler

Zurück
Oben