Some STR Fun

Some STR Fun

Some STR Fun
#include 
<
iostream
>

Some STR Fun#include 

<
assert.h
>

Some STR Fun#include 

<
string
>

Some STR Fun

using
 
namespace
 std;
Some STR Fun
Some STR Fun

char
 
*
myStrstr(
const
 
char
*
 src, 
const
 
char
*
 pat)
ExpandedBlockStart.gifContractedBlock.gif

Some STR Fun
{

Some STR Fun    
char *= (char*)src;
Some STR Fun    
char *= NULL;
Some STR Fun    
char *temp = NULL;
Some STR Fun
Some STR Fun    
if(!*pat)
Some STR Fun        
return (char*)src;
Some STR Fun
Some STR Fun    
while(*p)
ExpandedSubBlockStart.gifContractedSubBlock.gif    
Some STR Fun{

Some STR Fun        temp 
= p;
Some STR Fun        q 
= (char*)pat;
Some STR Fun        
while(*temp && *&& !(*temp  *q))
ExpandedSubBlockStart.gifContractedSubBlock.gif        
Some STR Fun{

Some STR Fun            temp
++;
Some STR Fun            q
++;
Some STR Fun        }

Some STR Fun        
if(!*q)
Some STR Fun            
return p;
Some STR Fun        p
++;
Some STR Fun    }

Some STR Fun
Some STR Fun    
return NULL;
Some STR Fun}


Some STR Fun
Some STR Fun

int
 myStrcmp(
const
 
char
 
*
src, 
const
 
char
 
*
pat)
ExpandedBlockStart.gifContractedBlock.gif

Some STR Fun
{

Some STR Fun    
int ret = 0;
Some STR Fun    
char *p1 = (char*)src;
Some STR Fun    
char *p2 = (char*)pat;
Some STR Fun
Some STR Fun    
while(*p2 && !(ret = *p1  *p2))
ExpandedSubBlockStart.gifContractedSubBlock.gif    
Some STR Fun{

Some STR Fun        p1
++;
Some STR Fun        p2
++;
Some STR Fun    }

Some STR Fun    
if(ret < 0)
Some STR Fun        
return 1;
Some STR Fun    
if(ret > 0)
Some STR Fun        
return 1;
Some STR Fun
Some STR Fun    
return ret;
Some STR Fun}


Some STR Fun
Some STR Fun

char
*
 myStrcpy(
char
 
*
src, 
const
 
char
 
*
pat)
ExpandedBlockStart.gifContractedBlock.gif

Some STR Fun
{

Some STR Fun    assert ((NULL 
!= src)&&(NULL != pat));
Some STR Fun    
char* newStr = src;
Some STR Fun    
while((*src++ = *pat++!= \0)
ExpandedSubBlockStart.gifContractedSubBlock.gif    
Some STR Fun{

Some STR Fun        NULL;
Some STR Fun    }

Some STR Fun    
return newStr;
Some STR Fun}


Some STR Fun
Some STR Fun

char
*
 myStrcat(
char
 
*
src, 
const
 
char
 
*
pat)
ExpandedBlockStart.gifContractedBlock.gif

Some STR Fun
{

Some STR Fun    
char *= src;
Some STR Fun    
while(*p)
ExpandedSubBlockStart.gifContractedSubBlock.gif    
Some STR Fun{

Some STR Fun        p
++;
Some STR Fun    }

Some STR Fun    
while(*p++ = *pat++)
ExpandedSubBlockStart.gifContractedSubBlock.gif    
Some STR Fun{

Some STR Fun        NULL;
Some STR Fun    }

Some STR Fun    
return src;
Some STR Fun}


Some STR Fun
Some STR Fun
ExpandedBlockStart.gifContractedBlock.gif

/**/
/********************abcdef -> efabcde ***************************/

Some STR Fun

char
*
 MoveStr(
char
 
*
src, 
int
 steps)
ExpandedBlockStart.gifContractedBlock.gif

Some STR Fun
{

Some STR Fun    
int lenth = strlen(src);
Some STR Fun    
char temp[255];
Some STR Fun    strcpy(temp, src 
+ lenth  steps);
Some STR Fun    strcpy(temp 
+ steps, src);
Some STR Fun    
*(temp + lenth) = \0;
Some STR Fun    strcpy(src, temp);
Some STR Fun    
return src;
Some STR Fun}


Some STR Fun
Some STR Fun
Some STR Fun

void
 main()
ExpandedBlockStart.gifContractedBlock.gif

Some STR Fun
{

Some STR Fun}

转载于:https://www.cnblogs.com/jackill/archive/2009/06/06/1497791.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/110901.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • JavaScript 正则表达式全面总结

    JavaScript 正则表达式全面总结如果您发现错误,请一定要告诉我,拯救一个辣鸡(但很帅)的少年就靠您了!本文适合有JavaScript基础&&面向搜索引擎书写正则的人群。正则表达式是用于匹配字符串中字符组合

  • 关于程序多开的尝试。CreateMutex,OpenMuxtex,ReleaseMutex「建议收藏」

    关于程序多开的尝试。CreateMutex,OpenMuxtex,ReleaseMutex「建议收藏」因为偶尔会遇到对那些不能支持双开的程序进行多开。。根据前一阵转的一篇文件了解到,现在大多程序都用CreateMutex方式来限制多开,于是有个想法:它Create了,我Release它,然后不就可以多开了吗?然而。。。经过一些小程序的验证及网上的搜索,我失败了。原因是:对于一个Mutex来说,只有Create它的进程才可以Release它。所以想用这种方式是不可能了。不过并不是…

  • 什么是ef core_vector嵌套vector

    什么是ef core_vector嵌套vectorEFcore相比EF6,对于DDD的支持更好。比如私有字段的映射,私有数组多对多的映射等等。 EFcore有几个坑需要注意:1.多对多的关系,因为只支持HasOne和Withmany,不支持HasMany。因此必须手动建立多对多的关系表的entity定义类,samplecode如下:classMyContext:DbContext{    pub…

  • 深度学习算法评价标准AP bbox bev 3d

    深度学习算法评价标准AP bbox bev 3d

  • oracle修改用户的密码_修改linux用户密码

    oracle修改用户的密码_修改linux用户密码oracle中修改用户密码首先是win键+R输入cmd输入sqlplus/assysdba,回车,此时进入到SQL>输入alterusersystemidentifiedbysystem;这行代码的意思就是修改system用户的密码为system(注意:代码末尾要加上;分号)…

  • 浅谈golang中的代理模式

    浅谈golang中的代理模式来自一个大佬的博客,建议食用设计模式不分语言,是一种思维层面的体现,但是不能在不同语言中使用同一套实现(每种语言有不同的特性),比如go,本身是没有继承一说,但是通过结构体的组合来实现语义上的继承。而多态也是通过接口的方式来实现的。下方的图来自于大佬博客,贴在这里方便查看!!!设计原则设计模式结构型模式代理模式首先,我们知道代理模式中分为静态代理和动态代理。静态代理需要在编译前就要写好,而动态代理需要在运行时通过反射来实现方法增强。上述的话,太过粗糙,下面列举一下双方的区别:静态代理:

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号