您的当前位置:首页正文

数字字符串转化成整形数或实行数

来源:帮我找美食网
新增两个字符串操作

void Mystr::czz(char *t)//查找指定字符串,输出所有位置(例:在“abdefcdefgdef”中找所有“def”的位置) { int i=0,j=0,m=0; //m表示位置

while(str[i]!='\\0') //循环条件,从头到尾找全所有的“def” { if(str[i]==t[j]) //第一次循环,判定两者的第一个字符是否相同,若相同,继续判定第二个是否相同,直到所有的都相同 { i++;j++; if(t[j]=='\\0') //找到一次,输出当前位置,继续下次循环 { cout<void Mystr::dele(char s) //删除所有指定字符(在“abccdefsscc”中删除所有的\"c\") {

int i,j=0,m=0; char *p;

p=new char[strlen(str)+1]; for(i=0;str[i]!='\\0';i++) {

if(str[i]!=s) { p[j]=str[i]; j++; } }

p[j]='\\0'; delete str;

str=p; }

部分字符串操作 #include \"iostream.h\" #include \"string.h\" #include \"stdio.h\" class Mystr { public: Mystr(); Mystr(char *p); Mystr(Mystr& a); void display(); ~Mystr(){ delete str; } void Cat(char *p); // void Cat(Mystr x); void Cat(Mystr &x); void operator =(Mystr &x); void operator =(char *p); int getlen(); // void operator +(Mystr &x); friend Mystr operator +(Mystr c1,Mystr c2); friend ostream & operator << (ostream & out,Mystr& d) {out<void Insp(int m,char *p);//插入字符串 void Del(int x);//删除字符串中指定位置的字符 void Del(char t);//删除所有指定字符(在“abccdefsscc”中删除所有的\"c\") void del_left();//删除字符串中左边的空格 void del_right();//删除字符串中右边边的空格 void del_all();//删除字符串中所有的空格 void set(int x,char ch);//把字符串中x位置换成ch void rev();//字符串的倒置 void translate();//把字符串中的小写字母转变为大写字母 void edit();//在字符串中数字后面加入美元符号 private: char *str; };

void Mystr::edit() { int i=0,n=strlen(str); while(str[i]!='\\0') { if(str[i]>='0'&&str[i]<='9') { if(str[i+1]>='0'&&str[i+1]<='9') i++; else { Insc(i+1,'$'); i++; } } else i++; } }

void Mystr::translate() { char *p=str; int n=strlen(p),i; for(i=0;i='a'&&p[i]<='z') p[i]=p[i]-32; } }

void Mystr::rev() {

int i,n;

char t,*s=str; n=strlen(s);

for(i=0;is[i]=s[n-1-i]; s[n-1-i]=t; } }

void Mystr::set(int x,char ch) {

char *p=str; int n=strlen(p); if(x<=0||x>n){cout<<\"!!!!\"<void Mystr::del_all() {

char *p=str; int n,i,j=0,t=0; char *s; n=strlen(p); for(i=0;iif(p[i]!=' ')s[t++]=p[i]; s[t]='\\0'; delete str; str=s; }

void Mystr::del_right() {

int n,i,j=0,t=0,k; char *s,*p=str; n=strlen(p); k=n;

while(p[k-1]==' ') { k--; j++; }

s=new char[n-j+1]; for(i=0;ivoid Mystr::del_left() {

char *p=str; int n,i,j=0;

n=strlen(p);

while(p[j]==' ')j++; for(i=0;ivoid Mystr::Del(int x) {

char *p=str; int i,k;

k=strlen(p);

if(x<=k&&x>=1) { for(i=x-1;ivoid Mystr::Del(char t) { int i=0; while(str[i]!='\\0') { if(str[i]==t) Del(i+1); else i++; } }

void Mystr::Insc(int m,char ch) {

int n=strlen(str); char *p;

p=new char[n+2]; for(int i=0;ifor(int j=m;j}

void Mystr::Insp(int m,char *p) { int n=strlen(str),l=strlen(p); char *t;

t=new char[l+n+1]; for(int i=0;ifor(int j=0;jvoid Mystr::Sort() { int i,j,l; char *p=str,t; l=strlen(p); for(i=0;ip[j]) { t=p[i]; p[i]=p[j]; p[j]=t; } } } /*

int Mystr::found(char *t) {

char *s=str; int i,j,k,m=-1;

for(i=0;s[i]!='\\0';i++) { k=i; for(j=0;t[j]!='\\0' && s[k]!='\\0' && s[k++]==t[j];j++); if(t[j]=='\\0') { m=i;

break; } }

return m;//没找到输出-1 } */

int Mystr::found(char *t) {

int i=0,j=0,m=0; while(str[i]!='\\0'&&t[j]!='\\0') { if(str[i]==t[j]) { i++; j++; } else { m++; i=m; j=0; } } if(t[j]!='\\0') m=-1; return m; }

double Mystr::strtof() { char *p=str; double a,d=0,w=10; int i=0,t=1; if(p[i]=='+') { t=1;i++;} if(p[i]=='-') { t=-1;i++;} while(p[i]!='\\0' && p[i]!='.') { if(p[i]<'0' || p[i]>'9') { cout<if(p[i]=='.') i++; a=d;d=0; while(p[i]!='\\0') { if(p[i]<'0' || p[i]>'9') { cout<int Mystr::strtoi() { char *p=str; int d=0,i=0,t=1; if(p[i]=='+') { t=1;i++;} if(p[i]=='-') { t=-1;i++;} while(p[i]!='\\0') { if(p[i]<'0' || p[i]>'9') { cout<<\"!!!!\"<void Mystr::operator =(Mystr &x) { char *p; p=new char[x.getlen()+1]; if(p==NULL){cout<<\"!!!!\"<void Mystr::operator =(char *s) { char *p; p=new char[strlen(s)+1]; if(p==NULL){cout<<\"!!!!\"<str=p; }

char Mystr::operator [](int x) { return str[x]; }

int Mystr::getlen() { int n=0; char *p=str; while(*p++)n++; return n; }

/*void Mystr::operator +(Mystr &x) { char *s; s=new char[strlen(str)+strlen(x.str)+1]; strcpy(s,str); strcat(s,x.str); delete str; str=s; } */

Mystr operator +(Mystr c1,Mystr c2) { Mystr p; char *s; s=new char[strlen(c1.str)+strlen(c2.str)+1]; strcpy(s,c1.str); strcat(s,c2.str); p.str=s; return p; } /*

void Mystr::Cat(Mystr x) { char *p; p=new char[strlen(this->str)+strlen(x.str)+1]; strcpy(p,this->str); strcat(p,x.str); delete this->str; this->str=p; } */

void Mystr::Cat(char *p) { char *s; s=new char[strlen(this->str)+strlen(p)+1]; strcpy(s,this->str); strcat(s,p); delete this->str; this->str=s; }

void Mystr::Cat(Mystr &x) { char *p; p=new char[strlen(this->str)+strlen(x.str)+1]; strcpy(p,this->str); strcat(p,x.str); delete this->str; this->str=p; }

void Mystr::display() { cout<Mystr::Mystr() { str=new char('\\0'); }

Mystr::Mystr(char *p) { int n=strlen(p); str=new char[n+1]; strcpy(str,p); }

Mystr::Mystr(Mystr& a) { int n=strlen(a.str); str=new char[n+1]; strcpy(str,a.str); }

void main() {

Mystr t1(\"abccccccccc\"); t1.Del('c');t1.display();}

因篇幅问题不能全部显示,请点此查看更多更全内容

Top