济南网站设计哪家好ps里怎么做网站
利用C++从C继承来的字符函数库cctype来实现去除字符串左右两边的空格、制表符、换行符
包含头文件cctype,调用函数isspace
...
#include <cctype>void TrimLeft(char **chsrc)
{for(int i = 0 ; i < strlen((*chsrc));){char ch = (*chsrc)[i];if(isspace(ch))//如何是返回true(*chsrc) += 1;elsebreak;}
}
 
 
void TrimRight(char **chsrc)
{for(int i = strlen((*chsrc)) - 1 ; i >= 0 ;i = strlen((*chsrc)) - 1){       char ch = (*chsrc)[i];if(isspace(ch))(*chsrc)[i] = 0;elsebreak;    }
} 
void Trim(char **chsrc)
{TrimLeft(chsrc);TrimRight(chsrc);
} 
char *chspace = new char[128];
memset(chspace,0,128);
//cin.getline(chspace,128);
sprintf(chspace,"\r\n123 456 \r\n");
//cin >> chspace;
cout << strlen(chspace)<< endl;
cout << "----------Trim-------------"<<endl;
Trim(&chspace);
cout << chspace << "***长度:" << strlen(chspace) << endl;
delete []chsapce;		
system("pause");
return 0; 
如果参数是string类型,则利用迭代器删除
- using namespace std;
 - string trim(string s){
 - if(s.empty())
 - return s;
 - s.erase(0,s.find_first_not_of(" "));
 - s.erase(s.find_last_not_of(" ") + 1);
 - return s;
 - }
 - int main(){
 - string s = " Hello World!! ";
 - cout << s << " size:" << s.size()<<"\n";
 - cout << trim(s) << " size:" << trim(s).size() <<"\n";
 - return 0;
 - }
 
