Tìm kiếm chuỗi trong C (strchr, strstr) | Laptrinhcanban.com

Tìm kiếm chuỗi trong C (strchr, strstr)

Hướng dẫn cách tìm kiếm chuỗi trong C. Bạn sẽ học được cách tìm chuỗi con trong chuỗi C bằng hàm strstr(), cũng như cách tìm kiếm ký tự trong chuỗi C bằng hàm strchr() sau bài học này.

Tìm kiếm chuỗi con trong chuỗi C | Hàm strstr

Hàm strstr() trong C là một hàm có sẵn trong header file string.h, giúp chúng ta tìm kiếm chuỗi con trong chuỗi C. Kết quả trả về sẽ là địa chỉ của vị trí đầu tiên tìm thấy chuỗi con trong chuỗi ban đầu dưới dạng con trỏ chuỗi trong c.

Chúng ta sử dụng hàm strstr() để tìm kiếm ký tự trong chuỗi C với cú pháp sau đây:

strstr(str, keyword);

Trong đó:

  • str là chuỗi ban đầu
  • keyword là chuỗi ký tự cần tìm trong chuỗi str.

Hàm strstr() sẽ trả về địa chỉ của vị trí đầu tiên tìm thấy của chuỗi ký tự keyword trong chuỗi str tính từ đầu chuỗi, và trả về vị trí này dưới dạng con trỏ chuỗi trong c.

Và chúng ta cần phải viết thêm dòng #include <string.h> để load header file string.h để có thể sử dụng được hàm strstr() trong chuơng trình.

Ví dụ cụ thể:

#include <stdio.h>
#include <string.h>

int main(void){
char str[30] = "Good School";
char * p;

p = strstr(str, "oo");
printf("%s\n", p);
}
//ood School

Bạn có thể thấy mặc dù có 2 chuỗi ký tự oo trong chuỗi "Good School" nhưng chỉ có vị trí xuất hiện đầu tiên của chuỗi con này được trả về dưới dạng con trỏ chuỗi trong c, khi chúng ta sử dụng hàm strstr() để tìm kiếm ký tự trong chuỗi C mà thôi.

Tìm kiếm ký tự trong chuỗi C | hàm strchr

Hàm strchr() trong C là một hàm có sẵn trong header file string.h, giúp chúng ta tìm kiếm ký tự chỉ định trong chuỗi C. Kết quả trả về sẽ là vị trí đầu tiên tìm thấy ký tự này trong chuỗi ban đầu dưới dạng con trỏ chuỗi trong c.

Cách sử dụng hàm strchr() cũng tương tự như hàm strstr(), tuy nhiên đối tượng tìm kiếm trong chuỗi ban đầu của hai hàm này là khác nhau. Hàm strchr() sẽ tiến hành tìm kiếm ký tự chỉ định, còn hàm strstr() sẽ tiến hành tìm kiếm chuỗi con, từ chuỗi ban đầu.

Chúng ta sử dụng hàm strchr() để tìm kiếm ký tự trong chuỗi C với cú pháp sau đây:

strchr(str, chr);

Trong đó:

  • str là chuỗi ban đầu
  • chr là ký tự cần tìm trong chuỗi str.

Hàm strchr() sẽ trả về vị trí đầu tiên tìm thấy của ký tự chr trong chuỗi str tính từ đầu chuỗi, và trả về vị trí này dưới dạng con trỏ chuỗi trong c.

Và chúng ta cần phải viết thêm dòng #include <string.h> để load header file string.h để có thể sử dụng được hàm strchr() trong chuơng trình.

Ví dụ cụ thể:

#include <stdio.h>
#include <string.h>

int main(void){
char str[30] = "Good School";

//Khai báo con trỏ chuỗi để chứa kết quả
char * p;

p = strchr(str, 'o');
printf("%s\n", p);
}
//ood School

Bạn có thể thấy mặc dù có nhiều ký tự o trong chuỗi "Good School" nhưng chỉ có vị trí xuất hiện đầu tiên của ký tự này được trả về dưới dạng con trỏ chuỗi trong c, khi chúng ta sử dụng hàm strchr() để tìm kiếm ký tự trong chuỗi C mà thôi.

Tổng kết và thực hành

Trên đây Kiyoshi đã hướng dẫn bạn cách tìm kiếm chuỗi trong C rồi. Để nắm rõ nội dung bài học hơn, bạn hãy thực hành viết lại các ví dụ của ngày hôm nay nhé.

Và hãy cùng tìm hiểu những kiến thức sâu hơn về C trong các bài học tiếp theo.

HOME>> >>

Profile
きよしです!笑

Tác giả : Kiyoshi (Chis Thanh)

Kiyoshi là một cựu du học sinh tại Nhật Bản. Sau khi tốt nghiệp đại học Toyama năm 2017, Kiyoshi hiện đang làm BrSE tại Tokyo, Nhật Bản.