| Autor |
Nachricht |
pille_01
Unregistrierter
|
pille_01 Unregistrierter
14:06:27 21.05.2012 Titel: |
Warum gibt fgetc einen int zurueck? |
Zitieren |
Hallo,
warum gibt fgetc einen int zurueck und nicht einen char? Ich habe gelesen, dass es so ist, weil in char kein eof repräsentieren kann. Aber gibt es dafuer nicht feof. Ansonsten short?
Danke! Gruß |
|
|
|
 |
Bashar
Mitglied
Benutzerprofil
Anmeldungsdatum: 15.05.2001
Beiträge: 17749
|
Bashar Mitglied
14:12:31 21.05.2012 Titel: |
Re: Warum gibt fgetc einen int zurueck? |
Zitieren |
| pille_01 schrieb: | | Ich habe gelesen, dass es so ist, weil in char kein eof repräsentieren kann. |
So ist es.
| Zitat: | | Aber gibt es dafuer nicht feof. |
feof ist für echtes End-of-file, ferror gibts auch noch. Für beide gibt fgetc EOF zurück. Im Zweifel alles historische Gründe ...
Wozu? int sollte der Ganzzahldatentyp sein, mit dem der Rechner am besten umgehen kann. |
_________________ OSL♥
|
|
 |
seldon
Unregistrierter
|
seldon Unregistrierter
14:25:13 21.05.2012 Titel: |
|
Zitieren |
Solche Warum-Fragen sind letztendlich schwer zu beantworten. Warum ist es so? Weil es so im Standard steht. Warum steht es so im Standard? Weil es alle Welt vorher so gemacht hat und man die gängige Praxis festgeschrieben hat. Warum hat alle Welt es vorher so gemacht? Irgendjemand hat es zuerst so gemacht, und dann haben es alle anderen übernommen, damit Code, der für eine andere Plattform entwickelt wurde, auch auf ihrer Plattform kompilierbar ist. Warum hat irgendjemand es ursprünglich so gemacht? Da müsste man ihn schon finden und selbst fragen, aber die Vermutung liegt nahe, dass er EOF mit fgetc abhandeln wollte.
Es stellt sich ja auch die Frage, was fgetc andernfalls am Dateiende zurückgeben sollte. |
|
|
|
 |
pille_01
Unregistrierter
|
pille_01 Unregistrierter
14:45:00 21.05.2012 Titel: |
so |
Zitieren |
Ich versteh nicht warum man mehr Speicher reservieren sollte als nötig. Deshalb dachte ich an short.
Die "So ist es eben"-Antwort habe ich von meinem Prof schon erhalten. Hatte mich nur nicht so richtig zufrieden gestellt. Aber ich werde es wohl so akzeptieren müssen
Trotzdem Danke für eure Zeit! |
|
|
|
 |
DirkB
Unregistrierter
|
DirkB Unregistrierter
14:55:01 21.05.2012 Titel: |
Re: so |
Zitieren |
| pille_01 schrieb: | | Ich versteh nicht warum man mehr Speicher reservieren sollte als nötig. Deshalb dachte ich an short. |
Die Rückgabewerte einer Funktion werden meist in CPU-Register zurückgegeben. Da spielt das keine Rolle.
Und sonst hast du meist auch nur eine einzelne Variable in der du den Wert zwischenspeicherst.
Danach wird der Wert im String abgelegt.
Der String besteht ja weiterhin aus char und ist somit platzsparend. |
|
|
|
 |
seldon
Unregistrierter
|
seldon Unregistrierter
15:08:35 21.05.2012 Titel: |
|
Zitieren |
Zwischen FILE-I/O und Locking dürfte der Rückgabetyp keine entscheidende Rolle mehr spielen. Wenn du optimieren willst, ist an anderer Stelle mehr zu holen. |
|
|
|
 |
|
Nächstes Thema anzeigen
Vorheriges Thema anzeigen
Sie können Beiträge in dieses Forum schreiben. Sie können auf Beiträge in diesem Forum antworten. Sie können Ihre Beiträge in diesem Forum nicht bearbeiten. Sie können Ihre Beiträge in diesem Forum nicht löschen. Sie können an Umfragen in diesem Forum nicht mitmachen.
|
|
|
|
|