جدول المحتويات:
تعريف - ماذا يعني Scanf؟
في لغة البرمجة C ، scanf هي وظيفة تقوم بقراءة البيانات المنسقة من stdin (أي ، تيار الإدخال القياسي ، والذي عادة ما يكون لوحة المفاتيح ، ما لم تتم إعادة توجيهه) ثم يكتب النتائج في الوسائط المعطاة.
تنتمي هذه الوظيفة إلى مجموعة من الوظائف التي لها نفس الوظيفة ولكنها تختلف فقط في مصدر بياناتها. على سبيل المثال ، يحصل fscanf على مدخلاته من دفق ملف ، بينما يحصل sscanf على مدخلاته من سلسلة.
يشرح Techopedia Scanf
وظيفة scanf لديها النموذج / التوقيع التالي:
int scanf (const char * format، …)؛
أين
- 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) قبل إجراء أي مهمة.