Hàm strstr () là một hàm được xác định trước trong tệp tiêu đề “string.h” được sử dụng để thực hiện xử lý chuỗi. Hàm này được sử dụng để tìm lần xuất hiện đầu tiên của một chuỗi con, giả sử str2 trong chuỗi chính, giả sử str1.
Cú pháp
Cú pháp của strstr () như sau -
char *strstr( char *str1, char *str2);
Các tham số của strstr () là
str2 là chuỗi con mà chúng tôi muốn tìm kiếm trong chuỗi chính str1
Giá trị trả về của strstr () là
Hàm này trả về con trỏ địa chỉ của lần xuất hiện đầu tiên của chuỗi con mà chúng ta đang tìm kiếm nếu được tìm thấy trong chuỗi chính, nếu không nó sẽ trả về giá trị null khi chuỗi con không có trong chuỗi chính.
Lưu ý - Quá trình so khớp không bao gồm ký tự null (‘\ 0’), mà hàm dừng khi gặp ký tự null
Ví dụ
Input: str1[] = {“Hello World”} str2[] = {“or”} Output: orld Input: str1[] = {“tutorials point”} str2[] = {“ls”} Output: ls point
Ví dụ
#include <string.h> #include <stdio.h> int main() { char str1[] = "Tutorials"; char str2[] = "tor"; char* ptr; // Will find first occurrence of str2 in str1 ptr = strstr(str1, str2); if (ptr) { printf("String is found\n"); printf("The occurrence of string '%s' in '%s' is '%s'", str2, str1, ptr); } else printf("String not found\n"); return 0; }
Đầu ra
Nếu chúng ta chạy đoạn mã trên, nó sẽ tạo ra kết quả sau -
String is found The occurrence of string 'tor' in 'Tutorials' is 'torials
Bây giờ, hãy thử một ứng dụng khác của strstr ()
Chúng ta cũng có thể sử dụng hàm này để thay thế một phần nhất định của chuỗi, ví dụ, nếu chúng ta muốn thay thế chuỗi str1 sau khi tìm thấy lần xuất hiện đầu tiên của chuỗi con str2 của nó.
Ví dụ
Input: str1[] = {“Hello India”} str2[] = {“India”} str3[] = {“World”} Output: Hello World
Giải thích - Bất cứ khi nào tìm thấy str2 trong str1, nó sẽ được thay thế bằng str3
Ví dụ
#include <string.h> #include <stdio.h> int main() { // Take any two strings char str1[] = "Tutorialshub"; char str2[] = "hub"; char str3[] = "point"; char* ptr; // Find first occurrence of st2 in str1 ptr = strstr(str1, str2); // Prints the result if (ptr) { strcpy(ptr, str3); printf("%s\n", str1); } else printf("String not found\n"); return 0; }
Đầu ra
Nếu chúng ta chạy đoạn mã trên, nó sẽ tạo ra kết quả sau -
Tutorialspoint