比如我原来输入的信息每个信息之间都是空两格的,我输入的时候是空一格或者是三个,输入进去后怎么矫正空格啊?
1条回答 默认 最新
- qfl_sdu 2021-07-16 10:21关注
输入进去后矫正?
那基本用不着写代码了,数据量小的话手动修改就可以了,数据量大的可以写个代码统一处理一下。
代码矫正方法:
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.每行解析出来的数据按照固定格式重新写入文件。
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥15 latex投稿显示click download
- ¥15 请问读取环境变量文件失败是什么原因?
- ¥15 在若依框架下实现人脸识别
- ¥15 网络科学导论,网络控制
- ¥100 安卓tv程序连接SQLSERVER2008问题
- ¥15 利用Sentinel-2和Landsat8做一个水库的长时序NDVI的对比,为什么Snetinel-2计算的结果最小值特别小,而Lansat8就很平均
- ¥15 metadata提取的PDF元数据,如何转换为一个Excel
- ¥15 关于arduino编程toCharArray()函数的使用
- ¥100 vc++混合CEF采用CLR方式编译报错
- ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?