C语言str几个常用方法总结
#include <stdio.h>
拷贝方法
char* strcpy(char* dest,char* src){
char* ret = dest;
/*
while(*src != 0){
*dest = *src;
dest++;
src++;
}
*dest = '\0';
*/
while((*dest++) = (*src++));
return ret;
}
拼接方法
char* strcat(char* dest,char* src){
char* ret = dest;
while(*dest != 0) dest++;
while((*dest++) = (*src++));
return ret;
}
求长度方法
int strle(char* str){
int len;
len = 0;
while(*str != 0){
str++;
len++;
}
return len;
}
比价方法
int strcmp(char* dest,char* src){
char* temp = dest;
if(strle(dest) != strle(src)){
return 0;
}
else{
while(*dest != 0){
if(*dest != *src){
return 0;
}
dest++;
src++;
}
}
return 1;
}
int main()
{
char y[] = "china";
char x[] = "china";
printf("%d\n",strcmp(y,x));
return 0;
}
学习到的知识:
char y[] = "china"; 与char* y = "china";两者区别
前者china是从常量区里复制到栈区的,所以我们是可以读写的
后者china是常量区的字符串,不可以对他进行写的操作