30.10.2014 Views

o_195h4n6al16jb186b1b2qs7fgssa.pdf

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

optional whitespace, followed by an optional sign,then a sequence<br />

of one or more digitswith an optional decimal point, followed by one<br />

or more optional digitsand an optional eor Efollowed by an optional<br />

signed exponent.<br />

strtodconverts the string until it reaches a character that cannot be<br />

converted to a number. endptrwill point to the remainder of the string<br />

starting with the first unconverted character.<br />

If a range error occurs, errnowill be set.<br />

dsPIC<br />

®<br />

Language Tools Libraries<br />

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

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

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

int main(void)<br />

{<br />

char *end;<br />

char a[] = "1.28 inches";<br />

char b[] = "27.835e2i";<br />

char c[] = "Number1";<br />

double x;<br />

x = strtod(a, &end);<br />

printf("String = \"%s\" float = %f\n", a, x );<br />

printf("Stopped at: %s\n\n", end );<br />

x = strtod(b, &end);<br />

printf("String = \"%s\" float = %f\n", b, x );<br />

printf("Stopped at: %s\n\n", end );<br />

x = strtod(c, &end);<br />

printf("String = \"%s\" float = %f\n", c, x );<br />

printf("Stopped at: %s\n\n", end );<br />

}<br />

Output:<br />

String = "1.28 inches" float = 1.280000<br />

Stopped at: inches<br />

String = "27.835e2i"float = 2783.500000<br />

Stopped at: i<br />

String = "Number1" float = 0.000000<br />

Stopped at: Number1<br />

Đối số: s lệnh được thực thi<br />

Bình luận: Chức năng này phải được tùy chỉnh để được sử dụng như mô tả (xem<br />

pic30-libs). Theo mặc định systemwill gây ra một thiết lập lại nếu được gọi với<br />

bất cứ điều gì khác hơn là NULL. hệ thống (NULL) sẽ không làm gì cả.<br />

Ví dụ: / * Chương trình này sử dụng hệ thống * /<br />

/ * Để TYPE tập tin nguồn của nó. * /<br />

# include / * Cho hệ thống * /<br />

int main (void)<br />

{<br />

hệ thống ("loại sampsystem.c");<br />

}<br />

Đầu ra:<br />

Hệ thống (loại sampsystem.c) được gọi là: hủy bỏ<br />

wctomb<br />

Mô tả: Chuyển đổi một nhân vật rộng để một nhân vật nhiều byte. (Xem chú<br />

thích.)<br />

Bao gồm:<br />

Nguyên mẫu: int wctomb (char * s, WCHAR wchar_t);<br />

Đối số: s điểm cho nhân vật nhiều byte<br />

WCHAR nhân vật rộng được chuyển đổi<br />

Quay trở lại giá trị: Trả về số không nếu s điểm cho một nhân vật null; nếu<br />

không, trả về 1.<br />

Bình luận: Kết quả là nhân vật nhiều byte được lưu trữ tại s. MPLAB C30<br />

không<br />

hỗ trợ các ký tự nhiều byte có chiều dài lớn hơn 1 nhân vật.<br />

wcstombs<br />

Mô tả: Chuyển đổi một chuỗi ký tự rộng để một chuỗi đa byte. (Xem chú thích.<br />

Bao gồm:<br />

Wcstombs size_t (char * s, const wchar_t * WCS,: nguyên mẫu<br />

size_t n);<br />

Đối số: s điểm cho chuỗi đa byte<br />

WCS chỉ vào chuỗi ký tự rộng<br />

n số ký tự để chuyển đổi<br />

Quay trở lại giá trị: Trả về số ký tự được lưu trữ bao gồm các ký tự null.<br />

Bình luận: wcstombsconverts nSố ký tự nhiều byte trừ khi nó<br />

gặp một ký tự null đầu tiên. MPLAB C30 không hỗ trợ<br />

ký tự nhiều byte có chiều dài lớn hơn 1 nhân vật.<br />

dsPIC<br />

®<br />

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

strtod (Continued)<br />

DS51456B trang 294<br />

2004 Microchip Technology Inc

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

Saved successfully!

Ooh no, something went wrong!