Funktion 'read', Integer einlesen, wie?
-
Servus
Ich hab versucht das so zu machen:
int main() { int val; read(0, &val, sizeof(val)); printf("%d\n", val); }
Als ausgabe erhalte ich aber immer -233433 (oder so ähnlich). Ich habe es auch schon via:
read(0, val, sizeof(val));
versucht. Klappte auch nicht.
Kann mir wer helfen und sagen wiso das nicht funktioniert?
Danke LinuxReader0
-
In welcher Form stehen die Daten denn in der Datei, aus der du sie lesen willst? Für Int-Werte in Textform ist read() nicht geeignet.
-
0 ist doch standard input? Kannst du mir helfen? Danke
gruss
-
Versuch' mal den "normalen" Weg über scanf() - der verarbeitet "textförmige" Zahleneingaben (read() hantiert mit Binärdaten).
-
Wie machen das den die Assembler-Freaks, die nur syscalls nutzen können? Scanf benutzen ist für mich eher eine schlechte Lösung. Danke.
-
Die lesen vermutlich in ein char-Array ein und wandeln das Ergebnis dann manuell in einen int-Wert um (fgets()+atoi()).
-
okay danke cstoll. Guten hunger