
看到很多地方都面试或者考试都要涉及字符串的很多知识 有的需要自己写字符串 最近看书的收集了一些 算是摘抄 然后在其中加了点我自己的感受 嘿嘿
strcpy 函数 ,作用是将一个字符串的字符复制到另一个字符串中
char * strcpy(char *destination ,const char * source)
{
while(*destination++=*source++);//看这一句话写的,精炼间断而又让人一目了然
//我用while写肯定是要三条语句,循环变量,赋值,递增,唉。。strchr函数。这就是菜鸟啊
return(destination-1);
}
strcat函数,作用是将一个串的内容追加到另一个串上
char *strcat(char *target,const char * source)
{
char *original=target;
while(*target)//这里可以看出指针和数组下标的不同,一直都觉得指针式很有优势的
target++;
while(*target++=*source++);
return(original);//注意到与上面一个函数返回的不同
}
strncat函数,这个不常用,作用是给字符串追加了N个字符
char *strcat(char *destination ,const char * source,int n)
{
char *original=destination;
int i=0;
while(*destination )
destination ++;
while((i++<n)&&(*destination ++=*source++));//我忍不住再一次赞叹一下这个循环语句
//这个容错性的想到也很牛,只要n为负数,就将目标字符串改为空
if(i>n)
*destination=NULL;
return(original);
}
strlwr 和 strupr函数 这两个函数实现起来比较简单,就不列了 :)
str_index函数 作用是返回索引到串的首次出现
int str_index(const char*string, char letter)
{
char *original=string;
while((*string!=letter)&&(*string))
string++;
return(string-original);//这个返回方法,没有一定功力估计很难想出来,至少脑子里不会首先会想到这样写
}
strrchr函数 也是不常用的函数 作用是搜索字符在字符串中的末次出现
char *strrchr(const char *string, char letter)
{
char *ptr=NULL;
while(*string)//这个逻辑在很多地方都有用
{
if(*string==letter)
ptr=string;
string++;
}
return (ptr);
}
strchr函数 作用是获取字符串中第一次出现某个字符
char *strchr(const char *string, char letter)
{
while((*string!=letter)&&(*string))
string++;
return (string);
}
strr_index函数 作用是返回指向字符串末次出现的索引
int strr_index(const char *string,char letter)
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-29798-1.html
股市跳水
哈哈