Strstr trong C

Strstr C



Strstr () trong ngôn ngữ C là một chức năng được tích hợp sẵn. Chức năng của strstr có thể hiểu được thông qua hướng dẫn sử dụng có trong thiết bị đầu cuối Ubuntu nếu bạn đang làm việc trên Ubuntu. Sau đó, thiết bị đầu cuối sẽ hiển thị cho bạn hướng dẫn của strstr và cách nó hoạt động.

$Đàn ôngstrstr







ví dụ 1

Hãy xem xét ví dụ đầu tiên của strstr; chúng tôi đã sử dụng mã trong một tệp. Và chúng tôi sẽ nhận được đầu ra thông qua tệp này trong thiết bị đầu cuối. Như đã biết rằng đầu vào của strstr là hai chuỗi, trong đó sự xuất hiện của một chuỗi được xác định trong chuỗi kia. Đầu tiên là tiêu đề thư viện string.h sẽ được sử dụng để xử lý nhiều chức năng của chuỗi. Nếu thư viện này không được giới thiệu, không thể thực hiện một chương trình của các hàm chuỗi. Hàm chuỗi được sử dụng trong mã nguồn này là



P= strstr (s1,s2)

Trong trường hợp này, p là một con trỏ. S1 và S2 là hai chuỗi. Chúng ta cần tìm sự xuất hiện của s2 trong chuỗi s1. Để in ra kết quả, chúng tôi đã sử dụng câu lệnh if-else để áp dụng điều kiện kiểm tra lần xuất hiện đầu tiên của chuỗi. Nếu chuỗi con cụ thể có trong chuỗi chính, nó sẽ được hiển thị với một thông báo xác nhận. Nếu nó không xuất hiện, thì một thông báo sẽ được hiển thị.







Trong ảnh chụp màn hình ở trên, bạn có thể thấy một chuỗi đầu vào mà từ đó bạn cần xác định chuỗi nhỏ. Chuỗi nhỏ đó cũng được đề cập nếu câu lệnh sẽ nhận p làm đối số trong tham số, làm giá trị của strstr chức năng được lưu trữ trong đó.

Nếu bạn đang làm việc trên hệ điều hành Linux và muốn lấy đầu ra. Sau đó, điều này có thể được thực hiện bằng cách sử dụng một vài lệnh trên thiết bị đầu cuối Ubuntu. Lệnh đầu tiên là để biên dịch



$GCC –o file9 file9.c

Để biên dịch, chúng ta cần một trình biên dịch, GCC được sử dụng cho Linux để biên dịch một chương trình C trên đó. -o được sử dụng để lưu trữ kết quả trong một tệp đầu ra từ tệp nguồn. Bây giờ bước tiếp theo là thực hiện.

$./file8

Điều này được hoàn thành bằng cách sử dụng một phương pháp chấm. Trong đó chúng tôi sử dụng dấu chấm và dấu gạch chéo tên tệp.

Kết quả cho thấy rằng chuỗi con đã có mặt và cũng hiển thị vị trí của nó trong tệp.

Ví dụ 2

Đây là một ví dụ đơn giản khác về hàm strstr () mà không cần sử dụng câu lệnh if. Trong chương trình C này, chúng ta sẽ so khớp một từ cụ thể trong chuỗi và sau đó tìm nạp nó khi từ được khớp theo sự xuất hiện của nó. Sau đó, trong đầu ra, từ và các ký tự có cùng với chuỗi con cũng được hiển thị.

Đầu ra = strstr(a, chuỗi tìm kiếm);

Như sự xuất hiện có được bằng cách sử dụng biến con trỏ trong mã. Bởi vì con trỏ này được sử dụng để lấy vị trí của chuỗi con và để xem chuỗi con, chúng tôi chỉ sử dụng tên biến không có dấu hoa thị trong lệnh đầu ra. Nếu chúng ta muốn hiển thị vị trí, thì chúng ta sẽ sử dụng con trỏ (biến có dấu hoa thị), tức là * đầu ra.

Bạn có thể thấy điều này trong đầu ra. Hàm từ đã được tìm kiếm dưới dạng một chuỗi con. Các ký tự, cùng với chuỗi con, cũng được hiển thị.

Ví dụ 3

Trong đoạn mã này, trước tiên chúng ta sẽ tìm sự xuất hiện của chuỗi con, và sau đó chuỗi con này sẽ được thay thế bằng một chuỗi khác. Một lần nữa, hai chuỗi sẽ được dành riêng làm đầu vào. Một là chuỗi lớn, và một là một từ sẽ được thay thế sau khi sự xuất hiện của nó sẽ được xác định. Các hàm strstr khớp chuỗi con nhỏ với chuỗi con ban đầu. Và khi trận đấu được thiết lập lần đầu tiên, nó sẽ trả về giá trị. Nhưng trong ví dụ này, giá trị này được thay thế nhiều hơn. Hãy xem nó sẽ hoạt động như thế nào.

P = strstr(s1, s2);

Trong đó p sẽ lưu giá trị xuất hiện trong đó, S1 và s2 là các chuỗi đầu vào.

Bây giờ chúng ta có điểm xuất hiện của chuỗi đầu vào đó. Bây giờ chúng ta sẽ thay thế chuỗi này bằng từ kia. Điều này được thực hiện trong phần nội dung của câu lệnh if. Điều này cho thấy rằng nếu điều kiện là đúng, từ đó được thành lập, sau đó được thay thế bằng một từ khác. Việc thay thế này được thực hiện thông qua một hàm chuỗi khác.

Strcpy(p, strstr)

Chúng tôi muốn thay thế từ này bằng strstr . Trong đó p là vị trí xuất hiện đầu tiên của chuỗi con mà hàm đã thay thế. Strcpy () thay thế hai từ này trong chuỗi. Đầu ra sẽ được thu thập thông qua cùng một phương pháp thực thi biên dịch.

Từ đầu ra, bạn có thể thấy rằng chuỗi hiện đã được thay thế bằng từ khác mà chúng tôi đã mô tả trong hàm strcpy.

Ví dụ 4

Ví dụ này cho thấy cùng một khái niệm. Ở đây chúng tôi đã sử dụng không gian trống dưới dạng một ký tự ngoài từ làm chuỗi con. Đó là một minh họa đơn giản mà chúng tôi thậm chí chưa sử dụng câu lệnh if. Chỉ áp dụng khái niệm đối sánh và hiển thị. Hai chuỗi được lấy làm đầu vào. Ngoài ra, từ được hiển thị cùng với tin nhắn. Các strstr hoạt động theo cách tương tự.

NS= strstr(a, b);

Ở đây c là biến nơi điểm xuất hiện sẽ được lưu trữ.

Bây giờ, chúng ta sẽ có được đầu ra.

Từ đầu ra, bạn có thể nhận thấy rằng không gian cũng được tính với chuỗi con mà chúng tôi đã giới thiệu.

Ví dụ 5

Ví dụ này khá khác so với những ví dụ trước. Ở đây, chúng tôi đã sử dụng một chức năng riêng biệt để thực hiện hành động của strstr () thay vì chương trình chính. Để so sánh, các giá trị sẽ được chuyển dưới dạng đối số trong các tham số của lệnh gọi hàm. Trong ví dụ này, chúng tôi đã đề cập đến chuỗi con và chương trình, sau khi thực thi, sẽ hiển thị vị trí của lần xuất hiện đầu tiên thay vì giá trị trong đầu ra. Hàm sẽ nhận các giá trị trong các biến và sau đó chúng tôi sẽ áp dụng strstr () trên các biến này. Câu lệnh if-else được sử dụng để kiểm tra tính khả dụng và điều kiện đúng và nếu nó sai thì chuyển sang phần khác.

Char*pos = strstr(str, substr);

Nhưng trái lại P là một chuỗi, substr là một chuỗi con. Char * pos là vị trí xuất hiện đầu tiên của một chuỗi con trong chuỗi. Dấu hiệu ' %NS 'Hiện tại trong câu lệnh được hiển thị ngụ ý thay thế một chuỗi con và toàn bộ chuỗi. Vì chuỗi con xuất hiện trước chuỗi trong tham số.

Bây giờ chuyển sang chương trình chính. Đầu tiên, một chuỗi được giới thiệu sẽ được chuyển qua một lệnh gọi hàm

Find_str(str, tốt nhất);

Ở đây chúng tôi cũng đã thêm chuỗi con với chuỗi. Mỗi khi một chuỗi con mới được thêm vào. Lần thứ hai chúng tôi đã thêm một ký tự không gian trống. Lần thứ ba, một chuỗi con không phải là một phần của chuỗi được thêm vào. Và cuối cùng, một bảng chữ cái được sử dụng.

Sử dụng các lệnh và sau đó xem kết quả được thêm vào bên dưới.

Đây là kết quả của các lệnh gọi hàm chương trình C. Hai câu lệnh đầu tiên và câu lệnh thứ 4 thỏa mãn điều kiện, vì vậy câu trả lời được hiển thị. Phần thứ ba không liên quan, vì vậy phần khác sẽ xử lý điều này.

Phần kết luận

Trong bài viết này, việc sử dụng strstr được thảo luận, cùng với các ví dụ. Những ví dụ này cho thấy sự đa dạng trong việc sử dụng khái niệm đó theo nhiều cách. Các hàm chuỗi rất dễ sử dụng khi có tiêu đề của chúng trong thư viện.