博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
str.erase(remove_if(str.begin(),str.end(),ptr_fun(isspace)),str.end());
谁有更好的可以发上来丫
求去左右空格的代码。
 
    TCHAR tempName[256]={0};
    TCHAR tempType[256]={0};
    fscanf(fp,"%s",temp);//得到字段名字
    //continue;
    for(int i=0;i<strlen(temp);i++){
      tempName[i] = temp[i];
    }
    fgets(temp,256,fp);//得到字段类型
    for(int i=0;i<strlen(temp);i++){
      tempType[i] = temp[i];
    }
    Trim(tempType);
    Trim(tempName);


//去左空格函数
TCHAR* CreadmifDoc:: lTrim(TCHAR *temp){//*temp==temp[0]
 int len = strlen(temp);
 TCHAR tempStr[256]={0};
 for(int i = 0;i<len-1;i++)
 {
  if(temp[i]!=' '){
   for(int j=0;i<len-1;j++,i++){
    tempStr[j] = temp[i];
   }
  break;
  }
 }
 return tempStr;
}
//去右空格函数
TCHAR* CreadmifDoc::rTrim(TCHAR *temp){
 int len = strlen(temp); 
 for( int i = len;i>=0;i--){
  if(temp[i-2]!=' '){//temp[i-2]为倒数第二个元素,temp[i-1]=='\0'
   temp[i]='\0';
   break;//结束符把字符数组截断
  }
 }
return temp;
}

TCHAR* CreadmifDoc::Trim(TCHAR *temp){
return lTrim(rTrim(temp));
}