第一回在CSDN上寫東西 呵呵
畢業了 首先恭喜下自己
從昨天開始讀 領導自己創造的文件格式 昨天下午開始動工 昨天一無所獲
今天呢
從亂亂的文件格式中總結出規律 試着讀了一番 問題真多
自己出了一身冷汗的一個函數 是 提取一個字符串中的所有以空格分割的詞,看起來有點簡單,可能真的很簡單,自己寫了個函數,讀了下,主要用了substr,其他的就是一些判斷
void PolyParse::CutBlank(vector<wstring>& wv,wstring &in)
{//剔除空格
int n=in.length();
wstring str;
int off=0,cnt=0,space=0;
BOOL flag=FALSE;
const wchar_t *ptr1 = 0;
ptr1= in.data();
if(in.find(L" ")!=string::npos)
{
for(int i=0;i<n;i++)
{
off=i;
wchar_t ch=ptr1[i];
if(ch!=L' ')
{
space=0;
cnt++;
}
else //if( ptr1[i]==L' ')
{
if(space==0)
{
str=in.substr(off-cnt,cnt);
cnt=0;
wv.push_back(str);
space++;
}
}
}
int index=in.find_last_of(L" ",in.length()-1);
wstring temstr=in.substr(index,in.length()-index);
wv.push_back(temstr);
}
else//這一行中只有一個詞
{
wv.push_back(in);
}
}
也許會有更簡單的方法,期待有人能夠指出
此方法解決後
又遇到一個很愚蠢的問題 在判斷語句if(flag=0)少寫了個=號 導致BUG 粗心 粗心