关闭

C/C++去空格的函数

3158人阅读 评论(4) 收藏 举报
C/C++去空格的函数

经过测试不会疏漏任何一种空白字符,准确可靠

----------------------------------------C---------------------------------------
#include <stdio.h>
#include <string.h>
#include <ctype.h>

char * trim(char * ptr)
{
    int start,end,i;
    if (ptr)
    {
        for(start=0; isspace(ptr[start]); start++)
            ;
        for(end=strlen(ptr)-1; isspace(ptr[end]); end--)
            ;
        for(i=start; i<=end; i++)
            ptr[i-start]=ptr[i];
        ptr[end-start+1]='/0';
        return (ptr);
    }
    else
        return NULL;
}


--------------------------------------C++-----------------------------------
#include <string>
using namespace std;

string trim(string &s)
{
const string &space =" /f/n/t/r/v" ;
string r=s.erase(s.find_last_not_of(space)+1);
return r.erase(0,r.find_first_not_of(space));
}

string ltrim(string &s)
{
const string &space =" /f/n/t/r/v" ;
return s.erase(0,s.find_first_not_of(space));
}

string rtrim(string &s)
{
const string &space =" /f/n/t/r/v" ;
return s.erase(s.find_last_not_of(space)+1);
}
0
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

[C/C++]_[初级]_[Trim掉字符串的前后空格]

场景 C++ 字符串Trim空格一直不在标准库里, 但是又很常用, 比如在界面输入一些字符串需要过滤掉前后空格后保存到数据库里;又或者需要进行字符串比较时过滤掉前后空格来精确比较都需要用到Trim方法. Object-c的NSString有自己的一个方便的方法实现Trim行为. text = [te...
  • infoworld
  • infoworld
  • 2016-05-30 10:09
  • 2061

【C/C++】将字符串中间的空格替换为"%20"

一、字符串按 二、
  • qq_31828515
  • qq_31828515
  • 2016-07-22 08:42
  • 1344

C/C++ / string 字符串去掉左右空格

以下代码摘抄CSDN论坛: 源文连接在:http://topic.csdn.net/u/20110620/10/1e0e91f0-1440-45db-aa29-6ce618fec2da.html 本人目的只在于收藏; C方法: [cpp] view plain...
  • shuyun123456789
  • shuyun123456789
  • 2014-09-22 17:06
  • 2110

[C/C++标准库]_[初级]_[使用模板删除字符串前后空格((w)string space)]

1. C++没有提供删除std::(w)string的前后空格的函数,比如TrimSpace. 2. 很多库都提供, 但是为了移植代码方便,最好还是能用标准库解决就用标准库.
  • infoworld
  • infoworld
  • 2014-12-17 14:54
  • 2132

C语言中scanf函数与空格回车

文章转载自:http://blog.csdn.net/xia7139/article/details/14522493 1、scanf的返回值 scanf通常返回的是成功赋值(从标准输入设备赋值到参数列表所指定的内存区域)的数据项数,如果出错或是遇到end of file(注意,如果想从...
  • u011499425
  • u011499425
  • 2016-09-21 14:08
  • 5311

linux下c/c++实例之八字符串分隔、去空格和转大小写

Linux下对字符串的操作使用频率高,在此总结部分功能。其中包括字符串的特征字符的分割、字符串左右边缘空格的去除(也可去掉左右特征字符串)及字符串大小转换。
  • taiyang1987912
  • taiyang1987912
  • 2015-11-10 09:49
  • 2432

C++中的替换空格

例,请实现一个函数,把字符串中的每个空格替换成“%20”。例如输入“We are happy.”,则输出“We%20are%20happy.”。 分析: 我们可以先遍历一次字符串,这样就能统计出字符串中空格的总数,并可以由此计算出替换之后的字符串的总长度。每替换一个空格,长度增...
  • sanqima
  • sanqima
  • 2015-01-03 11:35
  • 2251

编写一个函数,从一个字符串中去除多余的空格。

这道题是《C和指针》上面的习题,出自于65页第7题,题目描述为:   编写一个函数,从一个字符串中去除多余的空格。函数的原型应该如下:                v...
  • liujian20150808
  • liujian20150808
  • 2015-09-24 00:12
  • 2439

详谈C++中数组作为函数参数

一、一个例子引发的思考  运行以下代码,请问输出是什么?例子来源于《剑指Offer》,我对书上例子做了修改,让其可以运行。#include<iostream> using namespace std;int GetSize(int data[]) { return sizeof(...
  • oNever_say_love
  • oNever_say_love
  • 2015-10-26 12:33
  • 2524

补.从零开始学习C语言--scanf的%c前为什么加空格

#include int main (void) { int i ; char ch ; scanf("%d",&i) ; scanf(" %c",&ch) ; //这行的%C前有个空格 printf("i = %d...
  • u010850265
  • u010850265
  • 2013-06-20 14:09
  • 3099
    个人资料
    • 访问:331954次
    • 积分:4509
    • 等级:
    • 排名:第7675名
    • 原创:76篇
    • 转载:213篇
    • 译文:2篇
    • 评论:61条
    最新评论
    Ruby On Rails