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.

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

char *ptr;<br />

int res;<br />

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

ptr = memchr(buf1, ch1, 50);<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 />

Standard C Libraries with Math Functions<br />

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

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

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

if (ptr != NULL)<br />

{<br />

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

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

}<br />

else<br />

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

}<br />

Output:<br />

buf1 : What time is it?<br />

i found at position 7<br />

y not found<br />

memcmp<br />

Description: Compare the contents of two buffers.<br />

Include: <br />

Prototype: int memcmp(const void *s1, const void *s2, size_t n);<br />

Arguments: s1 first buffer<br />

s2 second buffer<br />

n number of characters to compare<br />

Return Value: Returns a positive number if s1is greater than s2, zero if s1is<br />

equal to<br />

s2, or a negative number if s1is less than s2.<br />

Remarks: This function compares the first ncharacters in s1to the first n<br />

®<br />

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

DS51456B trang 298<br />

memmove<br />

2004 Microchip Technology Inc<br />

Mô tả: Bản sao n ký tự của sourcebuffer vào bộ đệm đích,<br />

ngay cả khi các khu vực chồng chéo lên nhau.<br />

Bao gồm:<br />

Nguyên mẫu: void * memmove (void * s1, const void * s2, size_t n);<br />

Đối số: s1 đệm để sao chép nhân vật (đích)<br />

s2 đệm để sao chép các nhân vật từ (source)<br />

số n ký tự sao chép từ s2to s1<br />

Quay trở lại giá trị: Trả về một con trỏ đến bộ đệm điểm đến<br />

Ghi chú: Nếu bộ đệm chồng chéo, hiệu quả là asif các nhân vật được đọc đầu<br />

tiên<br />

s2then bằng văn bản cho s1so bộ đệm không bị hỏng.<br />

Ví dụ: # include / * Cho memmove * /<br />

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

int main (void)<br />

{<br />

char buf1 [50] = "Khi thời gian cuộc tuần hành trên";<br />

char buf2 [50] = "đâu là thời điểm";<br />

char buf3 [50] = "Tại sao?";<br />

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

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

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

memmove (buf1, buf2, 6);<br />

printf ("buf1 sau memmove 6 ký tự của"<br />

"Buf2: \ n \ t% s \ n", buf1);<br />

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

memmove (buf1, buf3, 5);<br />

printf ("buf1 sau memmove 5 ký tự của"<br />

"Buf3: \ n \ t% s \ n", buf1);<br />

}<br />

Đầu ra:<br />

buf1: Khi thời gian cuộc tuần hành trên<br />

buf2: đâu là thời gian?<br />

buf3: Tại sao?<br />

buf1 sau memmove 6 ký tự của buf2:<br />

Trường hợp ime cuộc tuần hành trên<br />

buf1 sau memmove 5 ký tự của buf3:

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

Saved successfully!

Ooh no, something went wrong!