ภาษาโปรแกรม C เปิดตัวเมื่อห้าทศวรรษที่แล้ว ตั้งแต่นั้นมา ก็ได้รับความนิยมอย่างมากในโลกการเขียนโปรแกรม มีความโดดเด่นในภาษาอื่นๆ เนื่องจากคุณสมบัติต่างๆ รวมถึงความเรียบง่ายของโครงสร้าง ฟังก์ชัน การพกพา การจัดการหน่วยความจำที่มีประสิทธิภาพ ฯลฯ แม้จะมีคุณสมบัติอื่นๆ มากมาย แต่ฟังก์ชันใน C ก็เป็นทรัพย์สินที่โดดเด่นที่สุดที่ช่วยเหลือผู้ใช้จำนวนมากในการเขียนตัวอย่างโค้ดที่มีประสิทธิภาพ
นอกจากนี้ itoa ยังเป็นฟังก์ชันที่ไม่ได้มาตรฐานที่ใช้กันอย่างแพร่หลายซึ่งทำหน้าที่เป็นตัวแปลงชนิดข้อมูล ใช้ประเภทข้อมูล int เป็นอินพุตและแปลงเป็นสตริง อย่างไรก็ตาม หลายท่านไม่ทราบถึงการใช้งานของมัน ดังนั้น คู่มือนี้จะอธิบายวิธีใช้ฟังก์ชัน itoa ใน C อย่างกระชับโดยไม่ยุ่งยาก
วิธีใช้ฟังก์ชัน Itoa ใน C
เริ่มต้นด้วยพื้นฐาน ต่อไปนี้เป็นไวยากรณ์ง่ายๆ สำหรับฟังก์ชัน itoa:
ภายใน หลัก - - -
ภายใน หนึ่ง - 12345 -
ถ่าน STR - ยี่สิบ - -
จมน้ำตาย - หนึ่ง - STR - 10 - -
พิมพ์ฉ - 'จำนวนเต็ม: %d \n สตริง: %s \n - - หนึ่ง - STR - -
กลับ 0 -
-
ในโปรแกรมที่กำหนดมีรายละเอียดดังนี้
- num คือจำนวนเต็ม
- str คืออักขระ
- 10 คือเบส
ตอนนี้ เรามาก้าวไปข้างหน้า เขียนโปรแกรม และใช้ฟังก์ชัน itoa กัน เช่น เราต้องเขียนโปรแกรมเพื่อเปลี่ยนตัวเลขที่ใส่เข้าไปในสตริง
#รวม
#รวม
เป็นโมฆะ จมน้ำตาย - ภายใน หนึ่ง - ถ่าน - STR - ภายใน ฐาน - -
ภายใน ฉัน - 0 -
ภายใน เป็นลบ - 0 -
ถ้า - หนึ่ง - 0 - -
STR - ฉัน - - - '0' -
STR - ฉัน - - - \0 - -
กลับ -
-
ถ้า - หนึ่ง - 0 - ฐาน - 10 - -
เป็นลบ - 1 -
หนึ่ง - - หนึ่ง -
-
ในขณะที่ - หนึ่ง - 0 - -
ภายใน อีกครั้ง - หนึ่ง - ฐาน -
STR - ฉัน - - - - อีกครั้ง - 9 - - - อีกครั้ง - 10 - - 'เป็น' - อีกครั้ง - '0' -
หนึ่ง - หนึ่ง - ฐาน -
-
ถ้า - เป็นลบ - ฐาน - 10 -
STR - ฉัน - - - - -
STR - ฉัน - - - \0 - -
ภายใน เริ่ม - 0 -
ภายใน จบ - ฉัน - 1 -
ในขณะที่ - เริ่ม - จบ - -
ถ่าน อุณหภูมิ - STR - เริ่ม - -
STR - เริ่ม - - STR - จบ - -
STR - จบ - - อุณหภูมิ -
เริ่ม -
จบ -
-
-
ภายใน หลัก - - -
ภายใน หนึ่ง -
พิมพ์ฉ - 'ป้อนจำนวนเต็ม:' - -
ถ้า - สแกน - '%d' - - หนึ่ง - - 1 - -
fprintf - stderr - 'ข้อมูลไม่ถูกต้อง กรุณากรอกจำนวนเต็ม \n - - -
กลับ EXIT_FAILURE -
-
ภายใน สูงสุด_ขนาด - snprintf - โมฆะ - 0 - '%d' - หนึ่ง - - 1 -
ถ่าน - STR - - ถ่าน - - มอลลอค - สูงสุด_ขนาด - -
ถ้า - STR - โมฆะ - -
fprintf - stderr - 'การจัดสรรหน่วยความจำล้มเหลว \n - - -
กลับ EXIT_FAILURE -
-
จมน้ำตาย - หนึ่ง - STR - 10 - -
พิมพ์ฉ - 'จำนวนเต็ม: %d \n สตริง: %s \n - - หนึ่ง - STR - -
ฟรี - STR - -
กลับ 0 -
-
ในโปรแกรมก่อนหน้านี้ itoa (int num, char *str, int base) คือฟังก์ชัน itoa นอกจากนี้ ไวยากรณ์ต่อไปนี้จะกำหนดศูนย์ให้กับผลลัพธ์โดยตรงเมื่อหมายเลขอินพุตเป็นศูนย์ด้วย:
ถ้า - หนึ่ง - 0 - -STR - ฉัน - - - '0' -
STR - ฉัน - - - \0 - -
กลับ -
-
เมื่อหมายเลขอินพุตเป็นลบและฐานไม่ใช่ 10 บรรทัดโปรแกรมต่อไปนี้จะตั้งค่าแฟล็กลบ:
ถ้า - หนึ่ง - 0 - ฐาน - 10 - -
เป็นลบ - 1 -
หนึ่ง - - หนึ่ง -
การวนซ้ำต่อไปนี้จะประมวลผลตัวเลขทั้งหมดและแปลงเป็นอักขระที่เกี่ยวข้อง ดังนั้น สำหรับฐานที่มากกว่า 10 โปรแกรมจะใช้ตัวอักษร 'a' ถึง 'f' สำหรับตัวเลข 10 ถึง 15
-ในขณะที่ - หนึ่ง - 0 - -
ภายใน อีกครั้ง - หนึ่ง - ฐาน -
STR - ฉัน - - - - อีกครั้ง - 9 - - - อีกครั้ง - 10 - - 'เป็น' - อีกครั้ง - '0' -
หนึ่ง - หนึ่ง - ฐาน -
-
เมื่อตัวเลขเดิมเป็นลบและฐานคือ 10 โปรแกรมจะเพิ่มเครื่องหมายลบต่อท้ายสตริงผลลัพธ์
ถ้า - เป็นลบ - ฐาน - 10 -STR - ฉัน - - - - -
บรรทัดต่อไปนี้จะยุติสตริงผลลัพธ์แล้วย้อนกลับเมื่อได้รับตัวเลขในลำดับย้อนกลับระหว่างกระบวนการแปลง:
STR - ฉัน - - - \0 - -// ย้อนกลับสตริง
ภายใน เริ่ม - 0 -
ภายใน จบ - ฉัน - 1 -
ในขณะที่ - เริ่ม - จบ - -
ถ่าน อุณหภูมิ - STR - เริ่ม - -
STR - เริ่ม - - STR - จบ - -
STR - จบ - - อุณหภูมิ -
เริ่ม -
จบ -
-
ดังนั้นโปรแกรมจึงรับจำนวนเต็มเป็นอินพุตและจัดสรรหน่วยความจำสำหรับการแสดงสตริง หลังจากนั้นจะเรียก itoa เพื่อแปลงจำนวนเต็มเป็นสตริงและพิมพ์จำนวนเต็มดั้งเดิม ในที่สุดก็ทำให้หน่วยความจำที่จัดสรรว่างมากขึ้น ตัวอย่างเช่น ให้ตัวเลขแก่โปรแกรม:
อย่างไรก็ตาม หากคุณกรอกตัวเลขที่ไม่ใช่จำนวนเต็ม โปรแกรมจะแสดงผลลัพธ์ดังต่อไปนี้:
บทสรุป
นี่คือวิธีที่คุณสามารถนำไปใช้และใช้ฟังก์ชัน itoa ใน C ได้อย่างง่ายดาย เราใช้ตัวอย่างโดยละเอียดที่มีหลายฟังก์ชันในการแปลงจำนวนเต็มเป็นสตริง จำไว้ว่านี่เป็นเพียงตัวอย่างเท่านั้น แต่คุณสามารถรวมฟังก์ชัน itoa เข้ากับฟังก์ชันต่างๆ เพื่อเขียนโปรแกรมที่น่าทึ่งได้