C语言基础-封装API篇
文章目录
封装API篇
1.自己封装——输出字符串函数 : myputs();
特点:字符串明显特点,结尾有‘\0’;
puts(str); //与printf("%s",p); 作用等价 区别是 puts();里面自己包含了\n。
原型:
int puts(const char *string);
自己封装:myputs(const char *string);
// * 除了变量声明定义以外都是运算符
void myputs(char *p){ while(*p != '\0'){ printf("%c", *p++); //也可以putchar(*p++); }}
2.自己封装——输入字符串函数 : mygets();
原型:
char *gets(char *str);
功能:
从输入缓冲区中读取一个字符串存储到字符指针变量 str 所指向的内存空间。
自己封装: mygets(char *str);
// * 除了变量声明定义以外都是运算符
void mygets(char *p){ if(p == NULL){ printf("内存非法\n"); return 0; } while(*p = getchar()){ if(*p == '\n'){ return 0; }else{ p++; } }}
3.自己封装——字符串个数函数:mystrlen();
自己封装:
int mystrlen(char *p){ while(*str != '\0'){cnt ++;str ++; } return cnt;}
4.自己封装——字符串初始化函数:mymemset();
memset(初始化对象的开头,初始化成什么字符,初始化多大);
memset() 函数可以说是初始化内存的“万能函数”,通常为新申请的内存进行初始化工作。
自己封装:
void mymemset(char *p ,char c, int size){ while(size){*p++ = c;size--; }}
5.自己封装——字符串拷贝(1)函数 : mystrcpy();
strcpy函数 作用是复制字符串。
strcpy函数的声明是“char *strcpy (char *dest, const char *src)”,表示把src所指向的字符串复制到dest。
原型:char *strcpy(char *dest , const char *src);
自己封装:
void mystrcpy(char *dest ,const char *src){if(str == NULL || dest ==NULL){ return NULL; } //字符串结尾‘\0’while(*str != '0'){ *dest = *str; dest++; str++; *dest ='\0'; }}
6.自己封装——字符串拷贝(2)函数 : mystrncpy();
char * strncpy (char *de st, con st char *src, int n),把src所指向的字符串中以src地址开始的前n个字节复制到dest 所指的数组中,并返回dest 。
原型:
char *strncpy(char *dest , char *src , int n);
自己封装:
void mystrncpy(char *dest , char *src , int n){ if(str == NULL || src ==NULL){ return NULL; } //字符串结尾‘\0’while(*str != '0' && n>0){ *dest = *str; dest++; str++; n--; } *dest ='\0';}
7. 自己封装——字符串拼接函数 : mystrcat();
strcat (拼接字符串1 , 拼接字符串2 ); //把2拼接到1上
自己封装:
void mystrcat(char *dest ,char *str){while(*dest != '\0'){dest ++;}while(*str != '\0'){*dest++ = *str++;} *dest = ‘\0’;}