สารบัญ:
คำจำกัดความ - Scanf หมายถึงอะไร
ในภาษาการเขียนโปรแกรม C scanf เป็นฟังก์ชั่นที่อ่านข้อมูลที่จัดรูปแบบจาก stdin (เช่นสตรีมอินพุตมาตรฐานซึ่งมักจะเป็นแป้นพิมพ์ยกเว้นเปลี่ยนเส้นทาง) แล้วเขียนผลลัพธ์ลงในอาร์กิวเมนต์ที่กำหนด
ฟังก์ชั่นนี้เป็นของตระกูลฟังก์ชั่นที่มีฟังก์ชั่นเหมือนกัน แต่แตกต่างกันเฉพาะในแหล่งข้อมูล ตัวอย่างเช่น fscanf รับอินพุตจากสตรีมไฟล์ในขณะที่ sscanf รับอินพุตจากสตริง
Techopedia อธิบาย Scanf
ฟังก์ชัน scanf มีต้นแบบ / ลายเซ็นต่อไปนี้:
int scanf (รูปแบบ const char *, … );
ที่ไหน
- int (จำนวนเต็ม) เป็นประเภทผลตอบแทน
- format เป็นสตริงที่มีตัวระบุชนิด (ดูด้านล่าง)
- "… " (จุดไข่ปลา) บ่งชี้ว่าฟังก์ชั่นยอมรับจำนวนตัวแปรของการขัดแย้ง; แต่ละอาร์กิวเมนต์ต้องเป็นที่อยู่หน่วยความจำที่มีการแปลงผลลัพธ์ที่ถูกเขียนไป
ตัวระบุชนิดแบบง่ายประกอบด้วยสัญลักษณ์เปอร์เซ็นต์ (%) และตัวอักษรอัลฟาที่ระบุประเภท ด้านล่างนี้เป็นตัวอย่างบางส่วนของตัวระบุชนิดที่ 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) ก่อนที่จะทำการมอบหมายใด ๆ