封装输出字符串函数 : myputs();
*int puts(const char string);
特点:字符串明显特点,结尾有‘\0’;
puts(str); //与printf(“%s”,p); 作用等价 区别是 puts();里面自己包含了\n。
void myputs(char *p){
while(*p != '\0'){
printf("%c", *p++); //也可以putchar(*p++);
}
}
封装输入字符串函数 : mygets();
原型: char *gets(char *str);
功能:从输入缓冲区中读取一个字符串存储到字符指针变量 str 所指向的内存空间。
void mygets(char *p){
if(p == NULL){
printf("内存非法\n");
return 0;
}
while(*p = getchar()){
if(*p == '\n'){
return 0;
}else{
p++;
}
}
}
封装字符串个数函数:mystrlen();
int mystrlen(char *p){
while(*str != '\0'){
cnt ++;
str ++;
}
return cnt;
}
封装字符串初始化函数:mymemset();
memset() 函数可以说是初始化内存的“万能函数”,通常为新申请的内存进行初始化工作。
void mymemset(char *p ,char c, int size){
while(size){
*p++ = c;
size--;
}
}
封装字符串拷贝(1)函数 : mystrcpy();
原型: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';
}
}
封装字符串拷贝(2)函数 : mystrncpy();
原型: 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';
}
封装字符串拼接函数 : mystrcat();
void mystrcat(char *dest ,char *str){
while(*dest != '\0'){
dest ++;
}
while(*str != '\0'){
*dest++ = *str++;
}
*dest = ‘\0’;
}