Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Lập Trình C

Hàm strstr() trong ngôn ngữ C là gì?


Hàm thư viện C char *strstr(const char *haystack, const char *needle) tìm lần xuất hiện đầu tiên của chuỗi con needle trong chuỗi haystack. Ký tự kết thúc '\0' không được so sánh.

Mảng các ký tự được gọi là chuỗi.

Khai báo

Cú pháp khai báo mảng:

char stringname[size];

Ví dụ: char string[50]; chuỗi độ dài 50 ký tự.

Khởi tạo

  • Sử dụng hằng ký tự đơn lẻ:
char string[10] = {'H', 'e', 'l', 'l', 'o', '\0'};
  • Sử dụng hằng chuỗi:
char string[10] = "Hello";

Truy cập - Chuỗi điều khiển "%s" dùng để truy cập chuỗi cho đến khi gặp '\0'.

Hàm strstr()

  • Dùng để tìm kiếm xem chuỗi con có xuất hiện trong chuỗi chính hay không.
  • Trả về con trỏ tới lần xuất hiện đầu tiên của s2 trong s1.

Cú pháp

strstr(mainstring, substring);

Ví dụ 1

Chương trình sau minh họa sử dụng hàm strstr():

#include <stdio.h> 
void main() { 
    char a[30], b[30]; 
    char *found; 
    printf("Nhập một chuỗi:\n"); 
    gets(a); 
    printf("Nhập chuỗi cần tìm:\n"); 
    gets(b); 
    found = strstr(a, b); 
    if (found) 
        printf("%s tìm thấy trong %s ở vị trí %d", b, a, found - a); 
    else 
        printf("-1 vì chuỗi không tìm thấy"); 
}

Kết quả

Nhập một chuỗi: how are you 
Nhập chuỗi cần tìm: you 
you tìm thấy trong how are you ở vị trí 8

Ví dụ 2

Chương trình C khác tìm chuỗi con trong chuỗi chính bằng hàm thư viện strstr:

#include <stdio.h> 
#include <string.h> 
void main() { 
    char mainstring[50], substring[50]; 
    char *exists; 
    printf("Nhập chuỗi chính:\n"); 
    gets(mainstring); 
    printf("Nhập chuỗi con muốn kiểm tra:"); 
    gets(substring); 
    exists = strstr(mainstring, substring); 
    if (exists) { 
        printf("%s tồn tại trong %s", substring, mainstring); 
    } else { 
        printf("'%s' không có trong '%s'", substring, mainstring); 
    } 
}

Kết quả

Nhập chuỗi chính: TutorialsPoint c Programming 
Nhập chuỗi con muốn kiểm tra: Programming 
Programming tồn tại trong TutorialsPoint c Programming