欢迎来到代码驿站!

C代码

当前位置:首页 > 软件编程 > C代码

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

时间:2021-06-08 07:43:09|栏目:C代码|点击:
最近做了个题目,遇到了要将字符串前后空格消除的细节问题。在Java中好像有一个字符串函数为trim()可以消除字符串后的空格。对于c++,查了一下,可以引用一个c++标准库Boost,可以轻松解决,但要下载,设置环境变量,因而没去弄。当然还可以用正则表达式进行匹配,但似乎都大材小用。不如就用substr()函数,而且string有find_last_not_of,find_first_not_of等等属性,已经够我们解决问题了。
复制代码 代码如下:

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

上一篇:C语言中的奇技淫巧

栏    目:C代码

下一篇:基于WTL中使用双缓冲避免闪烁的解决方法

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

本文地址:http://www.codeinn.net/misctech/137436.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有