עבור לתוכן

Files in c

Featured Replies

פורסם

שאלה קטנה לי אליכם

האם חוקי לרשום

while(file_name)

או שחובה להשתמש ב

while(feof(file_name)

?

תודה מראש

פורסם

ב-C, כל ערך שאינו struct יכול לשמש כערך לוגי, כלומר אפשר להשתמש בו ב-if/while. ערך 0 הוא שקר, וכל ערך שאינו 0 הוא אמת. זה נכון לא רק לערכים מספריים (כגון int, char ו-double) אלא גם למצביעים (שם ערך 0 הוא NULL, שאומר שהמצביע לא מצביע לשום דבר).

נניח כרגע ש-file_name הוא אכן מצביע לשם קובץ (כלומר הוא מטיפוס *char), האם יש לו ערך אמת או שקר?

נניח ש-file_name הוא מטיפוס *FILE ומצביע לקובץ פתוח, האם יש לו ערך אמת או שקר?

פורסם
  • מחבר

אוקי אני אנסח את השאלה קצתי יותר טוב:

האם שאני רושם while(file_name) אני בעצם אכנס ל-לולאה אין סופית?

כי ברגע שהוא יסיים לקרוא את הקובץ הוא ימשיך לערכי "זבל"?

נערך על-ידי Styx

פורסם

כן. כל עוד לא עשית file_name = 0 איפשהו בגוף הלולאה, ערך הביטוי תמיד יהיה אמת ולכן הלולאה תמשיך לנצח.

פורסם

ב-++C אפשר לעשות משהו כזה כאשר משתמשים ב-iostreams. אבל לא ב-C

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

דיונים חדשים