国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C++ > 正文

C++中用substr()函數消除前后空格的解決方法詳解

2020-01-26 16:11:15
字體:
來源:轉載
供稿:網友
最近做了個題目,遇到了要將字符串前后空格消除的細節問題。在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;
}

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 大竹县| 右玉县| 莒南县| 上栗县| 凭祥市| 乌兰县| 开阳县| 榆社县| 罗江县| 靖江市| 鄱阳县| 闻喜县| 昂仁县| 陇西县| 图片| 库尔勒市| 鹤岗市| 凤阳县| 化德县| 都匀市| 宁安市| 黑山县| 关岭| 华安县| 高唐县| 庆阳市| 吉首市| 巴青县| 龙南县| 鞍山市| 静安区| 工布江达县| 迁安市| 祁阳县| 金乡县| 永丰县| 绍兴县| 福安市| 当阳市| 江孜县| 雅安市|