วิธีใช้ฟังก์ชัน Itoa ใน C

Withi Chi Fangkchan Itoa Ni C



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

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







วิธีใช้ฟังก์ชัน Itoa ใน C

เริ่มต้นด้วยพื้นฐาน ต่อไปนี้เป็นไวยากรณ์ง่ายๆ สำหรับฟังก์ชัน itoa:



ภายใน หลัก - - -

ภายใน หนึ่ง - 12345 -
ถ่าน STR - ยี่สิบ - -
จมน้ำตาย - หนึ่ง - STR - 10 - -
พิมพ์ฉ - 'จำนวนเต็ม: %d \n สตริง: %s \n - - หนึ่ง - STR - -
กลับ 0 -


-

ในโปรแกรมที่กำหนดมีรายละเอียดดังนี้



  1. num คือจำนวนเต็ม
  2. str คืออักขระ
  3. 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 เข้ากับฟังก์ชันต่างๆ เพื่อเขียนโปรแกรมที่น่าทึ่งได้