30-05-2009, 22:50
|
מנהל
|
|
חבר מתאריך: 26.07.08
הודעות: 6,473
|
|
כאן נאמר שאין כזה דבר EOF char, אלא EOF זה ערך השייך לקובץ כפי שה-OS מייצגת אותו.
אבל כאן נאמר שיש כזה דבר EOF, רק שהוא לא char, אלא הוא מוערך (מלשון evaluated) בתור int32. (בעוד שזיהוי התוים בקובץ נעשה בגודל של char כל פעם...)
גם יותר הגיוני ש-EOF זה ערך המתקבל מהייצוג של הקובץ ב-OS, כי אחרת, לדעתי, הספירה של כמות ה-MB התפוסים בכונן הקשיח הייתה לוקחת המון זמן...
לכן זה נראה לי גם יותר הגיוני.
ואז ייתכן שייצוג ה-EOF בתור int32 נעשה בשביל תאימות לאחור כפי שכתוב כאן.
אז בסופו של דבר, קביעת ה-EOF זה משהו שתלוי ב-OS ולכן אינו portable כפי ששמתי לב מקריאה בעמודים אחרים (אין פונקציית truncate לקבצים בתקן ANSI C, מהסיבה שכל מערכת הפעלה מיישמת את זה באופן אחר)
נערך לאחרונה ע"י dorM בתאריך 30-05-2009 בשעה 22:54.
|