strstr trong C | Laptrinhcanban.com

strstr trong C

Hướng dẫn cách sử dụng hàm strstr trong C. Bạn sẽ học được cách sử dụng hàm strstr() để tìm chuỗi con trong chuỗi C sau bài học này.

strstr trong C

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);
}

Kết quả của hàm strstr:

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.

Một ví dụ khác:

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

int main(void){

char test[20] = "abcdefghijk";
char *p;

p = strstr(test,"fgh");

printf("Vi tri tim thay ky tu trong chuoi: %s\n",p);

return 0;
}

Kết quả của hàm strstr:

Vi tri tim thay ky tu trong chuoi: fghijk

Khác với các hàm khác trong C, hàm strstr không trả về giá trị cụ thể, mà trả về địa chỉ (vị trí của giá trị đó trong bộ nhớ) thông qua con trỏ. Vì thế hãy nắm vững kiến thức về con trỏ thông qua bài viết dưới đây:

Tổng kết

Trên đây Kiyoshi đã hướng dẫn bạn cách sử dụng strstr 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.