30.10.2014 Views

o_195h4n6al16jb186b1b2qs7fgssa.pdf

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

match found at position 9<br />

strrchr<br />

Description: Search for the last occurrence of a specified character in a string.<br />

Include: <br />

Prototype: char *strrchr(const char *s, int c);<br />

Arguments: s pointer to the string to be searched<br />

c character to search for<br />

Return Value: Returns a pointer to the character if found; otherwise, returns a<br />

null<br />

pointer.<br />

Remarks: The function searches the string s, including the terminating null<br />

character, to find the last occurrence of character c.<br />

Example: #include /* for strrchr, NULL */<br />

#include /* for printf */<br />

int main(void)<br />

{<br />

char buf1[50] = "What time is it?";<br />

char ch1 = 'm', ch2 = 'y';<br />

char *ptr;<br />

int res;<br />

printf("buf1 : %s\n\n", buf1);<br />

ptr = strrchr(buf1, ch1);<br />

if (ptr != NULL)<br />

{<br />

res = ptr - buf1 + 1;<br />

printf("%c found at position %d\n", ch1, res);<br />

}<br />

else<br />

printf("%c not found\n", ch1);<br />

strpbrk (Continued)<br />

Standard C Libraries with Math Functions<br />

2004 Microchip Technology Inc. DS51456B-page 313<br />

printf("\n");<br />

ptr = strrchr(buf1, ch2);<br />

if (ptr != NULL)<br />

{<br />

res = ptr - buf1 + 1;<br />

"Xyz" không tìm thấy<br />

strtok<br />

Mô tả: Phá vỡ một chuỗi thành chuỗi con, hoặc thẻ, bằng cách chèn các ký tự<br />

null ở<br />

nơi phân cách quy định.<br />

Bao gồm:<br />

Prototype: char * strtok (char * s1, const char * s2);<br />

Đối số: con trỏ s1 vào chuỗi kết thúc để được tìm kiếm<br />

s2 con trỏ tới ký tự cần tìm kiếm (sử dụng như là ký tự phân cách)<br />

Quay trở lại giá trị: Trả về một con trỏ đến ký tự đầu tiên của một mã thông báo<br />

(ký tự đầu tiên trong<br />

s1that không xuất hiện trong tập hợp các ký tự của s2). Nếu không có dấu hiệu<br />

là<br />

tìm thấy, con trỏ null được trả về.<br />

Bình luận: Một chuỗi các cuộc gọi đến các chức năng này có thể được sử dụng<br />

để tách một chuỗi thành<br />

chuỗi con (hoặc thẻ) bằng cách thay thế các ký tự quy định với null<br />

ký tự. Lần đầu tiên chức năng này được gọi vào một chuỗi ký tự,<br />

chuỗi cần được thông qua trong s1. Sau lần đầu tiên, chức năng này có thể<br />

tiếp tục phân tích các chuỗi từ dấu phân cách cuối cùng bằng cách gọi nó với<br />

một<br />

giá trị null được thông qua trong s1.<br />

Nó bỏ qua tất cả nhân vật chính xuất hiện trong chuỗi s2 (ký tự phân cách),<br />

sau đó bỏ qua tất cả các nhân vật không xuất hiện trong s2 (phân khúc này của<br />

nhân vật là các mã thông báo), và sau đó ghi đè các ký tự tiếp theo với một<br />

nhân vật vô giá trị, chấm dứt các mã thông báo hiện hành. Chức năng strtokthen<br />

tiết kiệm một con trỏ tới ký tự sau đó, từ đó tiếp theo<br />

tìm kiếm sẽ bắt đầu. Nếu strtokfinds sự kết thúc của chuỗi trước khi nó tìm thấy<br />

một<br />

dấu phân cách, các mã thông báo hiện tại kéo dài cuối tothe của chuỗi chỉ ra<br />

bởi s1. Nếu đây là cuộc gọi đầu tiên strtok, nó không sửa đổi các chuỗi (không<br />

ký tự null được ghi vào s1). Tập hợp các ký tự được thông qua<br />

trong s2need không phải là samefor mỗi cuộc gọi đến strtok.<br />

Nếu strtokis gọi với một tham số có giá trị cho s1after cuộc gọi ban đầu,<br />

chuỗi thành chuỗi tosearch mới. Chuỗi cũ trước đây<br />

tìm kiếm sẽ bị mất.<br />

strstr (Tiếp theo)<br />

dsPIC<br />

®<br />

Thư viện Công cụ Ngôn ngữ<br />

printf("%c found atposition %d\n", ch2, res);<br />

DS51456B trang 316<br />

2004 Microchip Technology Inc<br />

}<br />

Ví dụ: # include / * Cho strtok, NULL * /

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!