源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

C++中用substr()函数消除前后空格的解决方法详解

  • 时间:2020-11-07 15:09 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:C++中用substr()函数消除前后空格的解决方法详解
最近做了个题目,遇到了要将字符串前后空格消除的细节问题。在Java中好像有一个字符串函数为trim()可以消除字符串后的空格。对于c++,查了一下,可以引用一个c++标准库Boost,可以轻松解决,但要下载,设置环境变量,因而没去弄。当然还可以用正则表达式进行匹配,但似乎都大材小用。不如就用substr()函数,而且string有find_last_not_of,find_first_not_of等等属性,已经够我们解决问题了。
[u]复制代码[/u] 代码如下:
#include <iostream> #include <vector> #include <string> #include <fstream> using namespace std; //从文件中读取每一行,然后消除前后空格,使其连成一个新的字符串。 int main() {     string newstring = "";     vector<string> str;     ifstream fin("a.txt");     string line;     while (getline(fin, line))         str.push_back(line);     for (unsigned i = 0; i < str.size(); i++)     {         newstring += str[i].substr(str[i].find_first_not_of(" "),str[i].find_last_not_of(" ")-str[i].find_first_not_of(" ")+1);     }     cout<<newstring<<endl;     return 0; }
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部