การใช้ Isalpha() และ Isdigit() ใน C/C++: มันทำงานอย่างไร

Kar Chi Isalpha Laea Isdigit Ni C C Man Thangan Xyangri



มีชุดของฟังก์ชันให้เรียกใช้ในภาษา C++ ในขณะที่ต้องจัดการกับค่าตัวอักษรและตัวเลข ฟังก์ชันเหล่านี้ช่วยให้แน่ใจว่าค่าจะไม่ปะปนกับข้อมูลประเภทอื่น ฟังก์ชันเหล่านี้คือ isalpha() และ isdigit() ที่ใช้ในการตรวจจับค่าตัวอักษรและตัวเลขในสตริงตามลำดับ

isalpha() ในภาษา C++

ฟังก์ชัน isalpha() ใน C++ ใช้เพื่อตรวจสอบว่าอักขระนั้นเป็นตัวอักษรหรือไม่ และเพื่อกำหนดใน C++ จะใช้ฟังก์ชันไลบรารี ของไฟล์ส่วนหัว ตัวอักษรที่กำหนดในไฟล์ส่วนหัวนี้มีทั้งตัวอักษรภาษาอังกฤษตัวพิมพ์ใหญ่และตัวพิมพ์เล็ก 26 ตัว







ไวยากรณ์

ไวยากรณ์สำหรับฟังก์ชัน isalpha() ใน C++ จะได้รับดังนี้:



อิซัลฟา ( ภายใน ) ;

โดยที่ ch เป็นอักขระที่ถูกตรวจสอบ



ค่าส่งคืน

เมื่อค่าเป็นตัวอักษร ฟังก์ชันนี้จะให้ค่าที่ไม่เป็นศูนย์ ในทางกลับกัน ถ้าไม่ใช่ตัวอักษรก็จะส่งกลับค่าเป็นศูนย์





ตัวอย่างที่ 1

โค้ดด้านล่างเป็นโปรแกรม C++ ธรรมดาที่แสดงการใช้งานฟังก์ชัน isalpha() เพื่อตรวจสอบว่าค่าเป็นตัวอักษรหรือไม่:

#รวม

#รวม

โดยใช้ เนมสเปซ มาตรฐาน ;



ภายใน หลัก ( ) {



ภายใน x = อิซัลฟา ( 'ยี่สิบเอ็ด' ) ;



ศาล << x ;



กลับ 0 ;

}

รวมไฟล์ส่วนหัว cctype ไว้ด้วย เนื่องจากมีฟังก์ชัน isalpha() จำนวนเต็ม x จะถูกจัดเก็บพร้อมกับค่าอักขระเพื่อตรวจสอบว่าเป็นไปตามตัวอักษรหรือไม่



อักขระอินพุตไม่ใช่ตัวอักษร ดังนั้นศูนย์จึงถูกส่งกลับไปยังเอาต์พุต

ตัวอย่างที่ 2

โค้ดด้านล่างเป็นโปรแกรม C++ ธรรมดาที่แสดงให้เห็นการใช้งานฟังก์ชัน isalpha() ในสตริงประเภท C:

#รวม

#รวม

#รวม



โดยใช้ เนมสเปซ มาตรฐาน ;



ภายใน หลัก ( ) {

ถ่าน เชือก [ ] = 'ฮัม$%^&890qwe@kuidsuidu' ;

ภายใน นับ = 0 , ตรวจสอบ ;



สำหรับ ( ภายใน ฉัน = 0 ; ฉัน <= สเตรน ( เชือก ) ; ++ ฉัน ) {



ตรวจสอบ = อิซัลฟา ( เชือก [ ฉัน ] ) ;

ถ้า ( ตรวจสอบ )

++ นับ ;

}



ศาล << 'จำนวนตัวอักษรในสตริง: ' << นับ << สิ้นสุด ;

ศาล << 'จำนวนที่ไม่ใช่ตัวอักษรในสตริง : ' << สเตรน ( เชือก ) - - นับ ;



กลับ 0 ;

}

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

จำนวนตัวอักษรทั้งหมดพบว่ามี 15 ตัว และจำนวนที่ไม่ใช่ตัวอักษรคือ 8 ดังนั้น จำนวนอักขระสตริงทั้งหมดจึงพบว่ามี 23 ตัว

isdigit() ใน C ++

ฟังก์ชัน isdigit() ในภาษา C++ ใช้เพื่อตรวจสอบว่าอักขระที่ป้อนเป็นหนึ่งในสิบ (0-9) หลักทศนิยมหรือไม่ ในกรณีที่ค่าเป็นตัวเลขหรือตัวเลข จะส่งกลับค่าที่ไม่ใช่ศูนย์ มิฉะนั้นจะส่งกลับ 0 ซึ่งกำหนดไว้ในไฟล์ส่วนหัว

ไวยากรณ์

นี่คือไวยากรณ์สำหรับฟังก์ชัน isdigit() ในภาษา C++

สม่ำเสมอ ( ภายใน ถ่าน ) ;

ใช้จำนวนเต็มเดียวเป็นอาร์กิวเมนต์

ค่าส่งคืน

เมื่อค่าเป็นตัวเลขหรือตัวเลข ฟังก์ชันนี้จะให้ค่าที่ไม่ใช่ศูนย์ ในทางกลับกัน ถ้าไม่ใช่ตัวเลขก็จะส่งกลับค่าศูนย์

ตัวอย่างที่ 1

โค้ดด้านล่างเป็นโปรแกรม C++ ธรรมดาที่แสดงให้เห็นการใช้งานฟังก์ชัน isdigit() ใน C++:

#รวม

#รวม

โดยใช้ เนมสเปซ มาตรฐาน ;



ภายใน หลัก ( ) {



ภายใน x = สม่ำเสมอ ( '7' ) ;



ศาล << x ;



กลับ 0 ;

}

ในซอร์สโค้ดนี้ จำนวนเต็ม x ถูกกำหนดไว้เพื่อเก็บค่า และฟังก์ชัน isdigit() ถูกเรียกใช้เพื่อตรวจสอบอักขระนี้และส่งคืนเอาต์พุต พบว่าอักขระเป็นตัวเลข จึงส่งกลับค่าที่ไม่ใช่ศูนย์:

ตัวอย่างที่ 2

ตัวอย่างนี้แสดงให้เห็นถึงการใช้ฟังก์ชัน isdigit() เพื่อตรวจสอบการมีอยู่ของตัวเลขในสตริง:

#รวม

#รวม

#รวม

โดยใช้ เนมสเปซ มาตรฐาน ;

ภายใน หลัก ( ) {

ถ่าน เชือก [ ] = '45ty67d;' ;

ภายใน ตรวจสอบ ;



ศาล << 'ตัวเลขในสตริงคือ:' << สิ้นสุด ;



สำหรับ ( ภายใน ฉัน = 0 ; ฉัน < สเตรน ( เชือก ) ; ฉัน ++ ) {



ตรวจสอบ = สม่ำเสมอ ( เชือก [ ฉัน ] ) ;



ถ้า ( ตรวจสอบ )

ศาล << เชือก [ ฉัน ] << สิ้นสุด ;

}



กลับ 0 ;

}

ในซอร์สโค้ดนี้ ไฟล์ส่วนหัวที่จำเป็นถูกกำหนดไว้เพื่อรันโปรแกรม ในการจัดเก็บอักขระ จะมีการกำหนดสตริง และ for loop จะวนซ้ำผ่านสตริงและคอยตรวจสอบการมีอยู่ของตัวเลขในแต่ละตำแหน่ง ผลลัพธ์จะถูกเก็บไว้ใน string[i] และพบตัวเลขสี่หลักในสตริงและพิมพ์ลงบนเอาต์พุต:

บทสรุป

มีชุดของฟังก์ชันให้เรียกใช้ในภาษา C++ ในขณะที่ต้องจัดการกับค่าตัวอักษรและตัวเลข ในการตรวจสอบการมีอยู่ของอักขระหรือตัวอักษรในภาษา C++ ฟังก์ชัน isalpha() จะถูกใช้ ในขณะที่ฟังก์ชัน isdigit() ใน C++ ใช้เพื่อตรวจสอบว่าอักขระที่ป้อนเป็นหนึ่งในสิบ (0-9) หลักทศนิยมหรือไม่ ในกรณีที่เป็นคำตอบที่เป็นบวก ฟังก์ชันเหล่านี้จะส่งคืนค่าที่ไม่ใช่ศูนย์ มิฉะนั้นจะส่งคืนค่า 0 ฟังก์ชันทั้งสองนี้ถูกกำหนดไว้ในไฟล์ส่วนหัว