[C] Wert eines Strings einer int-var zuweisen

MastaZulu

Ensign
Registriert
Aug. 2002
Beiträge
207
Ist dies möglich?
d.h. ich weise durch Benutzereingabe einem String z.b. den Wert 20125 zu. Nun möchte ich den Wert 20125 einer int-Variablen übergeben, damit ich damit rechnen kann.
Wie geht das?

Danke im Voraus

MastaZulu
 
Liest du die Zahl in der Konsole ein?
Wenn ja, warum liest du nicht direkt in eine int Variable ein, sondern über den Umweg eines Strings?
 
Vermutlich liest du mit der Funktion scanf(...) ein.
Die kann auch direkt int einlesen.

Wenn die Eingabe fehlschlägt, jemand gibt z.B. anstelle 20125 das hier ein 20g125, dann gibt scanf() eine 0 zurück.
 
so hatte ich es am anfang, dann kommt bei mir aber eben nicht die fehlermeldung, die ich dafür vorgesehen hab, sondern ein effekt wie bei matrix :) also eine endlosschleife.
 
wenn du den wert in einem string stehen hast, kannst du sscanf() nehmen.
sscanf(stringvariabel,"%i",&integervariable);
oder atoi():
integervariable=atoi(stringvariable);
allerdings bin ich mir gerade nicht sicher, ob atoi() c ist.
 
atio ist c :)
 
Enigma schrieb:
richtig. itoa ist kein c. (bzw. gehört nicht zur Standard-C-Bibliothek)

atoi ist normalerweise immer besser als was selbstgeschriebenes, da es auch das eingestellte locale berücksichtigt. (was nervig nachzubilden wird, wenn man es selber schreiben will)
 
Zuletzt bearbeitet:
Zurück
Oben