设为首页 加入收藏

TOP

深入理解C语言-08 库函数(一)
2014-11-23 19:55:50 来源: 作者: 【 】 浏览:18
Tags:深入 理解 语言 -08 函数

工欲善其事,必先利其器

使用任何语言,必须先掌握库,只有这样才能站在巨人肩上看得更远。

C语言的库主要是libc, 嵌入式开发环境中用得最多的是uclibc。

关于库函数介绍,推荐书: 脑动力 C语言函数速查效率手册

关于库函数,个人体会做下面2个步骤可能有利于开发。
1> 将书本快速看一下,整理一个Excel文档,内容为: 函数名,参数说明,头文件,sample代码。
2> 建一个SouceInsight工程,实际开发中用到一个,就加一个该函数的测试代码。

这样有个好处,当处于非网络开发环境,可以快速查找。
并且,在特定环境下,还有必要测试下库函数,看是否有实现差异。

下面列举些常用函数:

#include 字符类型判断

int isalpha(int ch);
int isdigit(int ch);
int isalnum(int ch);
int islower(int ch);
int isupper(int ch);
int isspace(int ch);


#include 字符串处理
char* strcpy(char*dst, char*src);
char* strncpy(char*dst, char*src, int n);
char* strcat(char*dst, char*src);
char* strncat(char*dst, char*src, int n);
char* strchr(const char*src, char ch);
char* strrchr(const char*src, char ch);
char* strstr(const char*s1, char* s2);
char* strcmp(const char*s1, char* s2);
char* stricmp(const char*s1, char* s2);
char* strnicmp(const char*s1, char* s2,int maxlen);
int strlen(char*s);
char* strlwr(char*s);
char* strupr(char*s);

#include 控制台相关
int kbhit(void);
int getch(void);
int getchar(void);
int putch(int ch);
int putchar(int ch);

#include
int printf(char* fmt[, args]);
int vprintf(char* fmt, va_list param);
int sprintf(char* buf, char* fmt[, args]);
int vsprintf(char* fmt, va_list param);

#include
int ioctl(int fd, int request,void*);

#include
typdef void(*sig_t)(int);
sig_t signal(int signum, sig_t handler);
int raise(int signum);

#include
int system(const char * cmd);

#include
#include
#include
#include
int rename(char* oldname, char* newname);
int open(char* path, int access[,int permiss]);
int read(int fd, void*buf, int nByte);
int write(int fd, void*buf, int nByte);
int eof(int fd);
int lseek(int fd, long offset, int origin);
long tell(int fd);
int isatty(int fd);

#include
int lock(int fd, long offset, int len);
int unlock(int fd, long offset, int len);

int close(int fd);

#include
FILE* fopen(char* path, char* mode);
size_t fread(void*buf, size_t size, size_t count, FILE*stream);
size_t fwrite(void*buf, size_t size, size_t count, FILE*stream);
int feof(FILE*stream);
int fseek(FILE*stream, long offset, int origin);
long ftell(FILE*stream);
int ferror(FILE*stream);
int fclose(FILE*stream);

/* buffer */
void setbuf(FILE*stream, char*buf);
int setvbuf(FILE*stream,char* buf,int type, unsigned size);
int fflush(FILE*stream);

/* format */
int fprint(FILE*stream, char* format[, args]);
int vfprint(FILE*stream, char* format, va_list param);

/* 文件权限管理 */
int chmod(char* path, int mode);
int access(char* path, int mode);
int getftime(int fd, struct ftime* pftime);
int setftime(int fd, struct ftime* pftime);
long filelength(int fd);
int setmode(int fd, unsigned mode);

#include
int abs(int i);
double sin(double x);
double cos(double x);
double exp(double x);
double log(double x);
float pow(float x, float y);
double sqrt(double x);
double ceil(double x);
double floor(double x);
void srand(unsigned seed);
int rand(void);

/* 时间函数 */
#include
void getdate(struct date* pDate);
void setdate(struct date* pDate):
void gettime(struct time* pTime);
void settime(struct time* pTime);
time_t time(time_t*timer);
double difftime(time_t t1, time_t t2);

/* 类型转换 */
#include
char* ltoa(long value, char* str, int radix);
char* itoa(int value, char* str, int radix);
double atof(char* str);
int atoi(char* str);
long atol(char* str);
int tolower(int ch)

首页 上一页 1 2 下一页 尾页 1/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇C语言 指针 地址算数运算 字符指.. 下一篇C语言 enum 枚举 注意要点

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: