Txt Datei bearbeiten
-
Ein
char
ist auch nur eine ganze Zahl. Kannst du ausprobieren: zB ist '0' nur eine andere Art, um 48 zu sagen. Solche Zeichen-Konstanten könntest du auch konsequent durch Zahlenangaben ersetzen, wenn wir Stilfragen einmal ausklammern.fgetc() und Freunde geben das Zeichen in einem
int
zurück. Das liegt erstmal daran, dass der Wert vonEOF
kein gültiges Zeichen sein darf, weil das Konzept sonst nicht funktionieren würde. Also darfEOF
kein gültigerchar
-Wert sein.Darüber hinaus ist ein
int
dafür gedacht, für die normale Wortgrösse der Maschine zu stehen (fricky hat angemerkt, dass 8-Bitter eine Ausnahme sind). Ohne mich da sonderlich auszukennen, glaube ich nicht, dass man deshalb eine Ineffizienz fürchten muss.(char)c habe ich auch noch nicht gelernt, ist aber logisch, also hier wird es dann zum schreiben (denke ich) vom ASCI-Code in ein Char umgewandelt und so geschrieben.
Edit: Habs gerade ohne dem (char) vor dem c versucht, geht genauso, anscheinend wird es dann automatisch umgewandelt.So ist es.
char
's sind eben auch nur Zahlen. Deshalb macht es keinen Sinn, davon zu reden, dass ein ASCII-Code in ein Char umgewandelt wird. Einchar
ist eben ein kleiner Zahlen-Typ (normalerweise genau 1 Byte gross), das den Code (normalerweise ASCII-Code) des Zeichens enthält. Mehr ist da nicht dran. Alles klar?
-
c.nub schrieb:
Haben wir noch nie so verwendet, weil man kann doch einer interger Variable ein Zeichen zuweisen. Oder wird da der ASCI-Code zugewiesen?
(char)c habe ich auch noch nicht gelernt, ist aber logisch, also hier wird es dann zum schreiben (denke ich) vom ASCI-Code in ein Char umgewandelt und so geschrieben.Integer bei fgetc, weil erforderlich, um EOF prüfen zu können. Im fprintf (char) vor c, um explizit zurückzuwandeln, das ist ein Typecast (von int nach char), der eigentlich nicht erforderlich sein sollte, aber klarmacht, was passiert. Ich halte das für pädagogisch sinnvoller als auf implizite casts zu wetten, das geht immer wieder mal schief.
Ein else auf Zeile 14 hab' ich Dir auch noch untergeschoben ...So, und für heut' ist für mich Schicht im Schacht, musst Du auf andere hoffen, ich hock' mich mit mit einer Panetela und 'ner Buddel Scotch vor die Glotze.
-
Danke an euch beide, verstehe es jz halbwegs, werde mir noch einiges darüber durchlesen.
Schönen Abend noch
c.nub