האם Fscanf מחזירה EOF?
האם Fscanf מחזירה EOF?

וִידֵאוֹ: האם Fscanf מחזירה EOF?

וִידֵאוֹ: האם Fscanf מחזירה EOF?
וִידֵאוֹ: Section 6 2024, נוֹבֶמבֶּר
Anonim

fscanf מחזירה EOF אם סוף הקובץ (או שגיאת קלט) מתרחשת לפני שמירת ערכים כלשהם. אם ערכים מאוחסנים, זה החזרות מספר הפריטים המאוחסנים; כלומר, מספר הפעמים שערך מוקצה עם אחד מה- fscanf מצביעי טיעון. EOF הוא חזר אם מתרחשת שגיאה לפני התאמה של פריטים כלשהם.

מכאן, מה Fscanf מחזיר?

ה fscanf () פונקציה החזרות מספר השדות שהמיר והקצה בהצלחה. ה לַחֲזוֹר ערך עושה לא לכלול שדות שה fscanf () הפונקציה קראה אך לא הוקצתה. ה לַחֲזוֹר הערך הוא EOF אם מתרחש כשל בקלט לפני המרה כלשהי, או מספר פריטי הקלט שהוקצו אם הצליח.

באופן דומה, האם Fscanf קורא שורה אחר שורה? הבעיה הוא כי שלך fscanf יהיה לעולם לא לקרוא השורה החדשה בסוף השורה הראשונה קַו . אז מתי זה הוא התקשר בפעם השנייה, זה רָצוֹן נכשל (מחזיר 0, לא EOF) ו לקרוא שום דבר, משאיר את המאגר ללא שינוי.

באופן דומה, אתם עשויים לשאול, מה עושה Fscanf ב-C?

ה fscanf הפונקציה () משמשת לקריאת קלט מעוצב מהקובץ. זה עובד בדיוק כמו פונקציית scanf() אבל במקום לקרוא נתונים מהקלט הסטנדרטי הוא קורא את הנתונים מהקובץ.

מה זה סוף קובץ ב-C?

EOF פירושו סוף הקובץ . זה סימן לכך שה סוֹף של א קוֹבֶץ הגיע, ושלא יהיו נתונים יותר. במערכות לינוקס ו-OS X, התו שיש להזין כדי לגרום ל-EOF הוא CTRL+D. עבור Windows, זה CTRL+Z.

מוּמלָץ: