ใน C ++ strchr() เป็นฟังก์ชันที่กำหนดไว้ล่วงหน้า ใช้สำหรับการจัดการสตริงและส่งคืนการเกิดขึ้นครั้งแรกของอักขระที่กำหนดในสตริงที่ให้มา
ไวยากรณ์ของ strchr() มีดังต่อไปนี้
char *strchr( const char *str, int c)
ในไวยากรณ์ข้างต้น str คือสตริงที่มีอักขระ c ฟังก์ชัน strchr() ค้นหาการเกิดขึ้นครั้งแรกของ c ใน str.
โปรแกรมที่แสดงฟังก์ชัน strchr() มีดังต่อไปนี้
ตัวอย่าง
#include <iostream> #include <cstring> using namespace std; int main() { char str[] = "strings"; char * c = strchr(str,'s'); cout << "First occurrence of character "<< *c <<" in the string is at position "<< c - str + 1; return 0; }
ผลลัพธ์
First occurrence of character s in the string is at position 1
ในโปรแกรมข้างต้น ขั้นแรกให้กำหนดสตริง str จากนั้นตัวชี้ c จะชี้ไปที่การเกิดขึ้นครั้งแรกของอักขระ s ในสตริงที่กำหนด ได้โดยใช้ strchr() ตำแหน่งของ s จะแสดงโดยใช้ cout ทั้งหมดนี้อยู่ในข้อมูลโค้ดต่อไปนี้
char str[] = "strings"; char * c = strchr(str,'s'); cout << "First occurrence of character "<< *c <<" in the string is at position "<< c - str + 1;
ฟังก์ชัน strchr() ยังใช้เพื่อแสดงสตริงได้หลังจากอักขระตัวหนึ่งปรากฏขึ้นครั้งแรก กล่าวคือ สามารถแสดงส่วนต่อท้ายของสตริงได้ มีโปรแกรมสาธิตดังนี้
ตัวอย่าง
#include <iostream> #include <cstring> using namespace std; int main() { char str[] = "strings"; char * c = strchr(str,'i'); cout << "Remaining string after first occurance of "<< *c <<" is "<< c ; return 0; }
ผลลัพธ์
Remaining string after first occurance of i is ings
ในโปรแกรมข้างต้น ขั้นแรกให้กำหนดสตริง str จากนั้นตัวชี้ c จะชี้ไปที่การเกิดขึ้นครั้งแรกของอักขระ s ในสตริงที่กำหนด ได้โดยใช้ strchr() ส่วนที่เหลือของสตริงจากตำแหน่งที่ชี้ไปที่ c ถูกพิมพ์โดยใช้ cout ทั้งหมดนี้ได้รับในข้อมูลโค้ดต่อไปนี้
char str[] = "strings"; char * c = strchr(str,'i'); cout << "Remaining string after first occurance of "<< *c <<" is "<< c ;