Konvertieren eines Chars zu Integer
-
Hallo!
Ich habe hier ein Programm, das mir eine Datei einliest. In der Datei ist zunächst ein Header, den ich mit getchar() einlese. Danach kommt eine Zahl die die Länge der Datei beschreibt. Diese Zahl hätte ich gerne als Integer. Wenn ich versuche sie zu konvertieren, kommt allerdings nur die zu der Zahl gehörende ASCII Zahl raus. Auch die Funktion atoi() gibt mir nur die ASCII Zahl aus.
Danke für eure Hilfe!!!
-
In welcher Form steht denn diese Größenangabe in der Datei - atoi() hilft bei Angaben in Textform, ein Cast bei binären Angaben.
-
Da die Zahl mitten im Text steht, muss ich sie mittels getchar() einlesen. Ich habe sie dann als char vorliegen und muss sie zu einem Integer konvertieren.
-
probiers doch mal mit fscanf()
tt
-
Das habe ich nicht gefragt - in welchem Format steht die Zahl dort "mitten im Text"?
- binär - die Größe ist als 2..4 Byte Binärdaten dort untergebracht (im Editor sieht man nur kryptische Zeichen) -> lies die Zahl per fread() komplett ein und wandle sie mit Cast (oder Bit-Operationen) in einen int um.
- test - die Größe ist als (für Menschen) lesbare Zahlenangabe eingetragen -> lies sie lieber mit fscanf() ein.