比如我原来输入的信息每个信息之间都是空两格的,我输入的时候是空一格或者是三个,输入进去后怎么矫正空格啊?
输入进去后矫正?
那基本用不着写代码了,数据量小的话手动修改就可以了,数据量大的可以写个代码统一处理一下。
代码矫正方法:
1.逐行读取文件,逐行解析,因为你的信息之间有一个空格的,也有两个或三个空格的,这就需要写一个字符串分割函数,用一个空格进行分割,分割出来的字符串如果只包含空格就丢弃,剩下的就是需要的信息。
字符串分割的函数如下:(使用了vector)
//遇到ch即将字符串分割成小字符串
void SplitStr(std::string pStr, char ch,std::vector<std::string>& vReturn)
{
int nStartPos=0;
int nEndPos=0;
string tmp;
while((nEndPos = pStr.find(ch,nStartPos))> 0)
{
tmp = pStr.substr(nStartPos,nEndPos - nStartPos);
if(!tmp.empty() && tmp.compare(" ")!=0)
vReturn.push_back(tmp);
nStartPos = nEndPos+1;
}
nEndPos=pStr.find('\0',0);
pStr.substr(nStartPos,nEndPos-nStartPos);
if(!tmp.empty() && tmp.compare(" ")!=0)
vReturn.push_back(tmp);
}
2.每行解析出来的数据按照固定格式重新写入文件。