בית התפתחות מה זה scanf? - הגדרה מטכנולוגיה

מה זה scanf? - הגדרה מטכנולוגיה

תוכן עניינים:

Anonim

הגדרה - מה המשמעות של Scanf?

בשפת התכנות C scanf היא פונקציה הקוראת נתונים מעוצבים מ- stdin (כלומר, זרם הקלט הסטנדרטי, שהוא בדרך כלל המקלדת, אלא אם כן מופנה מחדש) ואז כותב את התוצאות לטיעונים שניתנו.

פונקציה זו שייכת למשפחת פונקציות בעלות אותה פונקציונליות אך שונות זו מזו במקור הנתונים שלהן. לדוגמה, fscanf מקבל את הקלט שלו מזרם קבצים, ואילו sscanf מקבל את הקלט שלו מחרוזת.

Techopedia מסביר את Scanf

לפונקציית scanf יש את האבטיפוס הבא / חתימה:

int scanf (פורמט const *, …);

איפה

  • int (מספר שלם) הוא סוג ההחזרה
  • תבנית היא מחרוזת המכילה את מפרט הסוגים (ראה להלן)
  • "…" (אליפסה) מציין שהפונקציה מקבלת מספר משתנה של ארגומנטים; כל טיעון חייב להיות כתובת זיכרון שאליה נכתבת התוצאה המרה

מפרט סוג פשוט מורכב מסמל אחוז (%) ותו אלפא המציין את הסוג. להלן מספר דוגמאות למפרטי הסוג המוכרים על ידי scanf:

  • % c - תו
  • % d - מספר שלם חתום
  • % x - מספר שלם לא חתום בפורמט הקסדצימאלי
  • % f - נקודת צפה
  • % s - מחרוזת

הפונקציה פועלת על ידי קריאת קלט מזרם הקלט הרגיל ואז סורקת את תוכן ה"פורמט "עבור כל מפרטי תבנית, מנסה להתאים לשניים. בהצלחה, הפונקציה כותבת את התוצאה לטענות (ים) שהועברו.

לדוגמה, אם שיחת הפונקציה היא

scanf ("% c% d", & var1, & var2);

והמשתמש מקליד "a1", הפונקציה תכתוב "a" ל- "var1" ו- "1" ל- "var2". עם זאת, אם השיחה לפונקציה היא

scanf ("% x", & var);

אותה קלט נקרא כמספר ההקסדצימאלי "a1", שהוא 161 בעשירוני.

הפונקציה מחזירה את הערך הבא:

  • > 0 - מספר הפריטים שהומרו והוקצו בהצלחה.
  • 0 - לא הוקצה פריט כלשהו.
  • <0 - שגיאת קריאה שנתקלה או בסוף הקובץ (EOF) הושגה לפני ביצוע כל מטלה.
מה זה scanf? - הגדרה מטכנולוגיה