首页 > 学院 > 开发设计 > 正文

string库其实没什么用

2019-11-06 07:38:36
字体:
来源:转载
供稿:网友
#include<cstdio>#include<cstring>#include<string>#include<iostream>/*using namespace std;class mystring{ char str[21]; int maxsize; int last; public: mystring(){ last=-1; axsize=21; str[0]='/0'; } mystring(char *s); ~mystring(){} void show(){ //如需重载<<,则请参见9.3节,暂时未学到,替代方法是改用show()函数 cout<<str<<'/t'; } bool Operator<(mystring &); mystring & operator=(char * ms); //这里重载的=是把C风格字符串赋给mystring }; mystring:: mystring(char *s){//当C字符串过长,初始化时采用截尾处理 last=-1; maxsize=21; do{ last++; str[last]=s[last]; }while(s[last]!='/0'&&last<maxsize-1); str[last] ='/0'; //截尾处理时,必须加串结束符}mystring & mystring::operator=(char * ms){ //这里返回值为引用,不调用复制构造函数 last=-1; do{ last++; str[last]=ms[last]; }while(ms[last]!='/0'&&last<maxsize-1); str[last] ='/0'; //截尾处理时,必须加串结束符 return *this; } bool mystring::operator<(mystring & ms){ //重载<运算符 int i=0,k; do{ k=str[i]-ms.str[i]; i++; }while(k==0&&i<last&&i<ms.last); if(k<0) return true; if(i==last&&i!=ms.last) return true; return false; }*/ using namespace std;char ss[101][101];int main(){ string str[101]; getline(cin,str[1]); getline(cin,str[2]); //cin>>str[2]; 读空格; //str[1]=str[2]; //复制 //gets(ss[1]); //gets(ss[2]); //str[1].erase(2); 只保留参数内的字符 //cout<<str[1].compare(str[2])<<endl; 判断字典序,大出>0的值,小就出<0 //if(!str[1].empty()) cout<<1<<endl; 判断空 //if(str[1]==str[2]) cout<<"yes"<<endl; //str[1]+=str[2]; //合并 //cout<<str[1].substr(1,4)<<endl; 0为起始下标,两个参数分别从几开始,返回几个字符 cout<<str[1].size()<<"/n"<<str[1]; //cout<<ss[1]<<"/n"<<ss[2]<<endl;}
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表