zoukankan      html  css  js  c++  java
  • 笔试中最常见的string相关函数

    strcpy:题目:已知strcpy函数的原型是:

    char * strcpy(char * strDest,const char * strSrc);

    1.不调用库函数,实现strcpy函数。

    2.解释为什么要返回char *。

    解答:

    1.

    char *strcpy(char *strDestination, const char *strSource)
    
    {
    
        assert(strDestination && strSource);
    
        char *strD=strDestination;
    
        while ((*strDestination++=*strSource++)!='\0')
    
            NULL;
    
        return strD;
    
    }
    

      

    2.为了实现链式调用:strcpy(b,strcpy(c,a))



    Strstr:返回heyStack中第一个与needle匹配的地址
    char * mystrstr(char* heyStack,char* needle)
    {
        //assert(heyStack!=NULL&&needle!=NULL);
        int heyStack_len=strlen(heyStack);
        int needle_len=strlen(needle);
    	int i=0;
        if(needle_len>heyStack_len)
    		return NULL;
        for(;i<heyStack_len-needle_len+1;i++){
    		int j=0;
    		for(;j<needle_len;j++){
                  if(needle[j]!=heyStack[i+j])
    				  break;
    		}
    		if(j==needle_len)  return &heyStack[i];
    	}  
    	return NULL;
    }
    

      


    strcat:在目标字符串的末尾添加源字符串
    char* strcat(char* dest,const char* source)
    {
         assert(dest!=NULL&&source!=NULL);
         char* destTemp=dest;
         char* sourceTemp=source;
         while(*destTemp++!='\0');
              destTemp--;
         while((*destTemp++=*sourceTemp++)!='\0');
         return dest;
    }
    

      

    strrev:颠倒字符串
    char* strrev(char* dest )
    {
         assert(dest!=NULL);
         char* temp=dest;
         char* result=new char[strlen(dest)+1];
         char* resultTemp=result;
         while(*temp++!='\0');
         temp--;
         int count=strlen(dest);
         while(count--)
              *resultTemp++=*temp--;
          *resultTemp='\0';
          return result;
    }
    

      

  • 相关阅读:
    298. Binary Tree Longest Consecutive Sequence
    128. Longest Consecutive Sequence
    59. Spiral Matrix II
    54. Spiral Matrix
    186. Reverse Words in a String II
    151. Reverse Words in a String
    61. Rotate List
    Beyond Compare脚本:命令行批量比较文件并生成html格式的差异报告
    Moving XML/BI Publisher Components Between Instances
    VSTO学习笔记
  • 原文地址:https://www.cnblogs.com/cherri/p/2074915.html
Copyright © 2011-2022 走看看