ฟังก์ชัน sprintf ในภาษาซี

Fangkchan Sprintf Ni Phas A Si



ในบทช่วยสอน Linux Hint นี้ เราจะหารือเกี่ยวกับการทำงานของ sprintf() ฟังก์ชันในภาษาซี เดอะ sprintf() ลักษณะการทำงานคล้ายกับ พิมพ์f() ฟังก์ชั่น แต่ความแตกต่างที่สำคัญคือ พิมพ์f() ฟังก์ชันใช้เพื่อส่งสตริงไปยังเอาต์พุต stdout เดอะ sprintf() ฟังก์ชันกำหนดเอาต์พุตไปยังตัวแปรสตริงในหน่วยความจำที่สามารถใช้เพื่อวัตถุประสงค์ต่างๆ รวมถึงการประมวลผลสตริงเพิ่มเติมหรือเขียนไปยังไฟล์หรือ stdout

ไวยากรณ์ของฟังก์ชัน sprint() ใน C:

ในฟังก์ชัน sprintf() เราได้ประกาศประเภท ”int” มีบัฟเฟอร์ชื่อพารามิเตอร์ของอักขระประเภทที่เป็นตัวชี้ที่ใช้เก็บสตริงอักขระในบัฟเฟอร์ขนาดใหญ่ อาร์กิวเมนต์ *format คือสตริงที่ใช้เพื่ออธิบายเอาต์พุต







ตัวระบุที่ใช้ในฟังก์ชัน sprintf() ในภาษาซี

ต่อไปนี้เป็นตัวระบุรูปแบบต่างๆ ที่ใช้ในภาษา C เพื่อกำหนดประเภทตัวแปรที่เราต้องการแสดงบนหน้าจอผลลัพธ์:



ตัวระบุรูปแบบ คำอธิบาย
%d แสดงจำนวนเต็ม
%ฉ แสดงค่าทศนิยมคงที่
%.1ฉ แสดงค่าเป็นทศนิยมโดยมีตัวเลขนำหน้าทศนิยมหนึ่งหลัก
%และ แสดงค่าทศนิยมในรูปแบบสัญกรณ์วิทยาศาสตร์ (เลขชี้กำลัง)
% กรัม แสดงค่าทศนิยมในรูปแบบทศนิยมคงที่หรือเลขชี้กำลังตามความยาวของค่า
%ค แสดงถึงตัวแปรอักขระ
%s แสดงถึงสตริงอักขระ
% หน้า ชี้ไปยังที่อยู่ของตัวชี้
%n ไม่พิมพ์อะไรเลย

ค่าที่ส่งคืนของฟังก์ชัน sprintf()

จำนวนอักขระที่พิมพ์ทั้งหมด ยกเว้นอักขระว่างที่แทรกที่ส่วนท้ายของสตริง จะถูกเปลี่ยนกลับหากคอมไพล์สำเร็จ อีกทางหนึ่ง ระบบจะส่งกลับค่าลบในกรณีที่เกิดความล้มเหลว



การใช้งานฟังก์ชัน sprintf()

ใช้คอมไพเลอร์ C ออนไลน์หรือคอมไพเลอร์ Dev C++ สำหรับการดำเนินการของ sprintf() ฟังก์ชันในโปรแกรมภาษาซี





ตัวอย่าง 01:

ต่อไปนี้คือภาพประกอบที่ง่ายที่สุดในการแสดงฟังก์ชันของโปรแกรมภาษาซี sprintf() การทำงาน. ในกรณีนี้ โดยการคูณ 'x' กับ 'y' เราสามารถกำหนดค่าของ 'z' ได้ ในการเริ่มเขียนโปรแกรมแรก เราต้องรวมไฟล์ส่วนหัวเพื่อรันโปรแกรม “stdio.h” ใช้เพื่อรับอินพุตจากผู้ใช้และแสดงผลหลังจากการคอมไพล์โปรแกรม ไฟล์ส่วนหัว “stdlib.h” หมายถึงไลบรารีมาตรฐานที่มีวิธีการจัดเก็บข้อมูล กิจกรรมควบคุม การคำนวณ และอื่นๆ

จากนั้นเราเริ่มดำเนินการ หลัก() เมธอดที่ทำหน้าที่เป็นจุดเริ่มต้นของการนำโค้ดของโปรแกรมไปใช้ในภาษาซี ในภาษาซี main คือคีย์เวิร์ดหรือเมธอดที่เป็นมาตรฐาน เดอะ หลัก() ฟังก์ชันเป็นวิธีการแรกที่รับผิดชอบในการเรียกใช้การเรียกใช้โค้ด จากนั้นจึงปิดโปรแกรม เดอะ หลัก() เมธอดมีประเภทข้อมูลส่งคืน 'int' ซึ่งเริ่มต้นการดำเนินการจากฟังก์ชัน 'หลัก' เสมอ



จากนั้น เราได้ประกาศตัวแปรชื่อ “x” โดยมีชนิดข้อมูลเป็น “int” เรียกว่าจำนวนเต็ม เดอะ “printf()” วิธีการถูกเรียกเพื่อแสดงสตริงที่เขียนในเครื่องหมายคำพูดทุกประการ (เช่น ป้อนค่า x:) จากนั้นเราต้องรับข้อมูลจากผู้ใช้ ดังนั้นเราจึงได้ใช้ “scanf()” กระบวนการ. ใน “scanf()” วิธีการ ตัวระบุ '%d' ใช้สำหรับตัวแปรประเภทจำนวนเต็ม 'x' เพื่อแสดงบนหน้าจอ เหมือนเดิม เราได้ประกาศตัวแปร “y” ด้วยชนิดข้อมูล “int” และรับอินพุตจากผู้ใช้

#รวม
#รวม

นานาชาติ หลัก ( )
{
นานาชาติ x ;
พิมพ์ฉ ( 'ป้อนค่า x: ' ) ;
สแกน ( '%d' , & x ) ;

นานาชาติ วาย ;
พิมพ์ฉ ( 'ป้อนค่า y: ' ) ;
สแกน ( '%d' , & วาย ) ;

นานาชาติ กับ = x * วาย ;
ถ่าน กันชน [ ห้าสิบ ] ;

วิ่ง ( กันชน , 'การคูณของ %d และ %d คือ: %d' , x , วาย , กับ ) ;
พิมพ์ฉ ( '%s \n ' , กันชน ) ;

กลับ 0 ;
}

เราได้ประกาศตัวแปร 'z' อีกตัวที่ใช้เก็บคำตอบของการคูณ 'x * y' ในนั้นด้วยชนิดข้อมูล 'int' หลังจากประกาศตัวแปรที่ถูกต้องทั้งหมดแล้ว เราได้ประกาศประเภทอักขระ 'บัฟเฟอร์' ที่มีความยาว 50 นอกจากนี้ ด้วยการใช้ตัวระบุ '%d' sprintf() วิธีการเปิดใช้งานการสร้างสตริงโดยไม่ต้องแสดงผลของการคูณทันที จากนั้นพิมพ์สตริงอักขระที่เขียนด้วยเครื่องหมายอัญประกาศคู่ ในตอนท้ายของโปรแกรม ให้คืนค่า 0 กลับเป็น หลัก() ฟังก์ชันที่จะแสดงการยุติการทำงานของโปรแกรม

นี่คือผลลัพธ์ของภาพประกอบด้านบน ขั้นแรก คุณต้องป้อนค่าของ 'x' และค่าของ 'y' เดอะ sprintf() จากนั้นตัวแปลจะใช้วิธีเพื่อแสดงผลลัพธ์ของการคูณค่าทั้งสอง

ตัวอย่าง 02:

ในภาพประกอบที่สองจากบทความของเรา เราคำนวณค่าของ PI โดยการป้อนเส้นรอบวงและเส้นผ่านศูนย์กลางของวงกลม เรามาเริ่มเขียนโปรแกรมคำนวณค่า PI กันเลย

ในการเริ่มต้นเขียนโปรแกรมนั้นเราจะต้องทำการรวมไฟล์ส่วนหัวเสียก่อน ในภาษา C ไฟล์ส่วนหัวมีนามสกุลเป็น “.h” ไฟล์ส่วนหัว “stdio.h”, “stdlib” และ “math.h” จำเป็นสำหรับการเรียกใช้แอปพลิเคชันของเรา ไฟล์ส่วนหัว “stdio.h” ใช้เพื่อแสดงอินพุตและเอาต์พุตของโปรแกรมด้วยคำสั่งตัวประมวลผลล่วงหน้า “#include” รหัสหลักสำหรับโปรแกรมของเรา ซึ่งเราตั้งใจจะดำเนินการและสร้างผลลัพธ์ที่เหมาะสมนั้น เขียนไว้ในเนื้อหา main()

ในเนื้อหาของฟังก์ชัน main() เราได้ประกาศตัวแปร 'int' สองตัวคือ 'เส้นรอบวง' และ 'รัศมี' รวมถึงตัวแปร 'ลอย' ซึ่งเป็น 'เส้นผ่านศูนย์กลาง' เพื่อกำหนดพื้นที่ผิวของวงกลม ค่าทศนิยมของ 'pi' จะถูกบันทึกไว้ในตัวแปรเพิ่มเติมที่เรียกว่า 'pi' สุดท้าย 'บัฟเฟอร์' ของอักขระประเภทจะเก็บสตริงโดยใช้ความยาว 50 ขณะที่จัดสรรทรัพยากร บัฟเฟอร์กำลังดึงอักขระที่เขียนและแนบไปกับสตริงหลังจากได้รับตัวแปรทั้งหมด เดอะ หลัก() วิธีการพยายามที่จะเข้าใจแต่ละตัวแปร หากดำเนินการอย่างถูกต้อง มันจะคืนค่า 0 เป็น หลัก() กระบวนการ.

#รวม
#รวม
#รวม

นานาชาติ หลัก ( ) {

นานาชาติ เส้นรอบวง = 44 ;

พิมพ์ฉ ( 'มูลค่าของเส้นรอบวงคือ: %d \n ' , เส้นรอบวง ) ;

นานาชาติ รัศมี = 7 ;

พิมพ์ฉ ( 'ในการหาค่าของ Pi ก่อนอื่นให้หาค่าของเส้นผ่านศูนย์กลาง \n ' ) ;

ลอย เส้นผ่านศูนย์กลาง = ( ลอย ) 7 * สอง ;

พิมพ์ฉ ( 'คูณค่ารัศมีด้วย 2 เพื่อให้ได้ค่าเส้นผ่านศูนย์กลาง \n \n '
'ค่าของเส้นผ่านศูนย์กลางคือ: %f \n ' , เส้นผ่านศูนย์กลาง ) ;

ลอย ปี่ = เส้นรอบวง / เส้นผ่านศูนย์กลาง ;

ถ่าน กันชน [ ห้าสิบ ] ;
วิ่ง ( กันชน , '%ฉ' , ปี่ ) ;

พิมพ์ฉ ( 'ค่าของ Pi ถูกจัดเก็บเป็น %s \n ' , กันชน ) ;

กลับ 0 ;
}

หลังจากดำเนินการตามส่วนย่อยของโค้ดดังกล่าวแล้ว เราสามารถกำหนดค่าของ 'pi' โดยใช้เส้นรอบวงและเส้นผ่านศูนย์กลางของวงกลม

บทสรุป

ฟังก์ชัน sprintf() ของภาษาโปรแกรม C ได้รับการแก้ไขแล้วในบทช่วยสอน Linux Hint นี้ เราได้พูดคุยเกี่ยวกับไวยากรณ์ของฟังก์ชัน sprintf() และตัวระบุรูปแบบที่ใช้ขณะเขียนโค้ดในภาษา C เพื่อประกาศพารามิเตอร์ จากนั้นเพื่อช่วยให้ผู้ใช้เข้าใจว่า sprintf() วิธีการดำเนินการ เราใช้สองตัวอย่างที่ไม่ซ้ำกัน