Computer >> Máy Tính >  >> Lập trình >> lập trình C

Các hàm tìm kiếm chuỗi trong ngôn ngữ C là gì?

Thư viện cũng cung cấp một số hàm tìm kiếm chuỗi như sau -

char * strchr (const char * string, intc);
Tìm lần xuất hiện đầu tiên của ký tự c trong chuỗi.
char "strrchr (const char" string, intc);
Tìm lần xuất hiện cuối cùng của ký tự c trong chuỗi.
char * strpbrk (const char * s1, const char * s2);
trả về một con trỏ đến lần xuất hiện đầu tiên trong chuỗi s1 của bất kỳ ký tự nào từ chuỗi s2 hoặc một con trỏ rỗng nếu không có ký tự nào từ s2 tồn tại trong s1.
size_t strspn (const char * s1, const char * s2);
trả về số ký tự ở đầu s1 khớp với s2.
size_t strcspn (const char * 51, const char * s2);
trả về số ký tự ở đầu s1 không phù hợp với s2.
char * strtok (char * s1, const char * s2);
ngắt chuỗi được chỉ đến bởi si thành một chuỗi các mã thông báo, mỗi mã được phân tách bằng một hoặc nhiều ký tự từ chuỗi được trỏ tới bởi s2.
char * strtok_r (char * s1, const char * s2, char
có chức năng tương tự như strtok () ngoại trừ ** kéo dài); rằng một con trỏ đến một chuỗi giữ chỗ kéo dài phải được cung cấp bởi người gọi.

strchr () và strrchr () là cách sử dụng đơn giản nhất.

Ví dụ 1

Sau đây là chương trình C cho các hàm tìm kiếm chuỗi -

#include <string.h>
#include <stdio.h>
void main(){
   char *str1 = "Hello";
   char *ans;
   ans = strchr (str1,'l');
   printf("%s\n", ans);
}

Đầu ra

Khi chương trình trên được thực thi, nó tạo ra kết quả sau -

llo

Sau lần thực thi này, ans trỏ đến vị trí str1 + 2.

strpbrk () là một hàm tổng quát hơn để tìm kiếm lần xuất hiện đầu tiên của bất kỳ nhóm ký tự nào.

Ví dụ 2

Sau đây là chương trình C để sử dụng hàm strpbrk () -

#include <string.h>
#include <stdio.h>
void main(){
   char *str1 = "Hello";
   char *ans;
   ans = strpbrk (str1,"aeiou");
   printf("%s\n",ans);
}

Đầu ra

Khi chương trình trên được thực thi, nó tạo ra kết quả sau -

ello

Ở đây, ans trỏ đến vị trí str1 + 1, vị trí của e đầu tiên.