String,strcpy,strcat,strlen
来源:互联网 发布:网络安全保卫大队在哪 编辑:程序博客网 时间:2024/05/10 03:20
1,string
class String{public: String(const char* str =NULL); String(const String& str); ~String(); String operator+(const String& str); String &operator=(const String& str); bool operator==(const String &str); int lenght(); friend ostream & operator<<(ostream &o,const String &str); String SubStr(int start,int end);private: char* m_data;};String::String(const char* str){ if(str == NULL) { m_data = new char[1]; m_data = '\0'; } else { m_data = new char[strlen(str)+1]; strcpy(m_data,str); }}String::String(const String & str){ m_data = new char[strlen(str.m_data)+1]; strcpy(m_data,str.m_data);}String::~String(){ delete[] m_data;}String String::operator+(const String& str){ String res; delete[] res.m_data; res.m_data = new char[strlen(m_data)+strlen(str.m_data)+1]; strcpy(res.m_data,m_data); strcpy(res.m_data+strlen(m_data),str.m_data); return res;}String& String::operator=(const String &str){if(m_data == str.m_data)returen *this;delete[] m_data;m_data = new char[strlen(str.m_data)+1];strcpy(m_data,str.m_data);return * this;}bool String::operator==(const String &str){ return strcmp(m_data,str.m_data) ==0;}int String::Length(){return strlen(m_data);}ostream& operator<<(ostream&o ,const String& str){ o<<str.m_data;return o;}String String::SubStr(int start,int end){ String res; delete [] res.m_data;//delelte old memory; re.m_data = new char[end-start+1]; for(int i=0;i+start<end;i++) { res.m_data[i] = m_data[start+i]; } res.m_data[end-start] ='\0'; return res;}
2,strcpy
char* strcpy_t(char* strDest,const char* strSrc){ assert((strDest!=NULL)&&(strSrc!=NULL)); //#include "assert.h" char *address =char* strDest; while((*strDest++ = * strSrc++)!='\0'); return address; } int strlen_t(const char* str) { assert(str!=NULL); int n-0; while((*str++)!='\0') { n++; } return n; } char* _cdecl strcat(char* strDest,const char* strSrc) { char* cp = dst; cp++; //find end of dst; while(*cp++ == *src++); /*Copy src to end of dst*/ return (dst);/* return dst*/ }
0 0
- String,strcpy,strcat,strlen
- strcpy,strcat,strlen
- strcat strcpy strcmp strlen
- strcpy strcat strlen
- strcpy strcat strlen
- strcpy,strlen,strcat原形
- strlen,strcpy,strcat,strcmp,strstr
- strcpy,strcmp,strlen,strcat总结
- strcpy,strcat,strlen函数原型
- strcmp && strcpy && strlen && strcat 源码
- strcpy, strcat, strcmp, strlen,memcpy
- strcpy/strcmp/strlen/strcat/strstr
- strcmp && strcpy && strlen && strcat 源码
- strcpy,strlen,strcat源码[MSDN]
- strcat, strcpy, strlen, strcmp实现
- strcmp && strcpy && strlen && strcat 源码
- strlen、strcat、strcpy函数实现
- 模拟实现strlen,strcpy,strcat
- Navgation下的UITableView存在偏移的解决方法
- 基于百度地图3.1.1地位当前位置
- va_list/va_start/va_arg/va_end深入分析
- java基础——面向对象(一)
- struts1工作原理浅析(一)
- String,strcpy,strcat,strlen
- 常用的Android studio快捷键修改,
- 当今世界十大经典算法
- URAL 1264. Workdays
- 求最长回文子串问题
- Activity启动模式的深入分析
- 括号匹配
- poj 1698Alice's Chance 最大流模板题
- javaScript 顶级对象window