标准C库是个经典的东西,以前总觉得单片机编程的时候用不到,总是自己写一些功能并不强大使用也不太方便的函数。实际上,善于使用C库函数会使编程很方便,
比如,写一个程序里面有让LCD显示字符串,并且显示的内容是字符串和变量夹杂的,比如要显示“page 20”,这个20是变量i的值,这个值会随时改变,显示也要跟着变,平时都是先送出”page “字符串,然后再写一个整数转成字符串的函数,再送到LCD,这样使用的时候就不方便了,而且增加了编程的难度,当然,本着多学习的态度,自己写这些函数是好的,但是使用库函数会减轻你的劳动,并且会让你的主函数很清洁,看了很舒服。这里我们可以使用下面两句来完成:
sprintf(buffer,“page %d“,i);
PrintToLcd(buffer);
这里sprintf是标准输入输出函数,把后面的格式输出内容放到buffer缓冲区,这个buffer是个指针。PrintToUart是自己定义的一个普通的纯字符串输出的函数。
下面还有一些函数值得在编程的时候使用:
字符串库(string.h)
字符串连接(相加) char *strcat(char *dest,const char *stc)
把src连接到dest字符串后面,返回指向dest的指针
字符串比较 int strcmp(char *str1,char *str2)
返回值:小于0: str1str2
字符串拷贝1 char *strcpy(char *dest,const char *src)
结果把src的内容拷进dest,两个字符串内容相同,返回指向dest的指针
字符串拷贝2 char *strdup(const char *src)
src:待拷贝的源字符串,返回值:指向拷贝后的字符串的指针
字符串倒序 char *strrev(char *s);
返回指向倒序后字符串的指针
类型转换(math.h; stdlib.h)
字符串转双精度(类似C++Builder里的StrToDouble) double atof(char *str)
字符串转整数(类似StrToInt) int atoi(char *str)
字符串转长整型 long atol(char *str)
浮点数转字符串 char *ecvt(double value,int ndigit,int*dec,int *sign)
char *fcvt(double value,int ndigit,int*dec,int *sign)
输入参数:value: 待转换浮点数,ndigit: 转换后的字符串长度
输出参数:dec: 小数点位置,sign: 符号
返回转换后的字符串指针
整型转字符串 char *itoa(int value,char *string,int radix)
输入参数:value: 要转换的数,radix: 转换的进制
输出参数:string: 转换后的字符串
返回指向string的指针
长整型转字符串 char *ltoa(long value,char *string,int radix)
mubo_996067292 2006-9-26 13:05
用户95612 2006-9-25 16:55
用户13739 2006-9-25 14:23
用户53076 2006-9-21 22:47
用户28425 2006-9-21 20:11
用户1053025 2006-9-20 10:38