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));
}