使用纯C语言,去除一个字符串开头和结尾的空格,内部若有连续空格只保留一个。

 C Code 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
 
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

void trimSpace(char *pStr)
{
    if(NULL == pStr) return;

;
    ;
    int strLen = strlen(pStr);

/**< 去除字符串前面的空格 */
    while(pStr[high] == ' ' && high < strLen)
    {
        ++high;
    }

while(high < strLen)
    {

if(pStr[high] == ' ') // 读取连续空格,并压缩为一个空格
        {
            pStr[low++] = ' ';
            while(pStr[high] == ' ' && high < strLen)
            {
                ++high;
            }
        }
        else // 读取连续单词
        {
            while(pStr[high] != ' ' && high < strLen)
            {
                pStr[low++] = pStr[high++];
            }
        }
    }
    /**< 去除字符串末尾的空格 */
    ] == ' ')
    {
        pStr[low - ] = '\0';
    }
    else
    {
        pStr[low] = '\0';
    }
}

int main()
{
    ;
    char *pStr = malloc(sizeof(char) * size);
    gets(pStr);
    trimSpace(pStr);
    printf("%s", pStr);
    free(pStr);

;
}

C压缩字符串中的空格的更多相关文章

  1. C++去掉字符串中首尾空格和所有空格

    c++去掉首尾空格是参考一篇文章的,但是忘记文章出处了,就略过吧. 去掉首尾空格的代码如下: void trim(string &s) { if( !s.empty() ) { s.erase ...

  2. JS 去除字符串中的空格

    1. 去掉字符串前后所有空格: 代码如下: function Trim(str) { return str.replace(/(^\s*)|(\s*$)/g, ""); } 说明: ...

  3. JS中删除字符串中的空格

    问题描述:         在进行字符串操作时,由于字符串中存在较多的空格,因此需要考虑取消字符串中的空格 问题解决:       (1)删除字符串中的前导空格(字符串的前面的空格): 注意:这里使用 ...

  4. PHP中取出字符串中的空格 逗号

    preg_replace("/\s| |,|,/","",$_str) PHP中取出字符串中的空格 逗号 (包括中文状态下)

  5. 【剑指offer】替换字符串中的空格

    转载请注明出处:http://blog.csdn.net/ns_code/article/details/25002199 剑指offer上的第四道题目,在九度OJ上測试通过,但还是有些问题.由于是用 ...

  6. vbs 去掉字符串中的空格

    今天在写自动化脚本时,需要把字符串中的空格替换成其他特殊字符,但字符间的空格个数又不确定,经过搜索,成功解决. 解决重点就是把每个空格字符串搜索出来,然后进行替换,主要用到space函数. strSt ...

  7. Linux shell去除字符串中所有空格

    Linux shell去除字符串中所有空格 echo $VAR | sed 's/ //g'

  8. 将一个字符串中的空格替换成“%20”(C、Python)

    将一个字符串中的空格替换成“%20” C语言: /* ----------------------------------- 通过函数调用,传地址来操作字符串 1.先计算出替换后的字符串的长度 2.从 ...

  9. 把字符串中的空格替换为"%20"

    这个需要注意的是字符串的结尾最后一个字符为'\0',并不是空字符,复制时要一块复制,算法思想就是先计算出字符串中总的空格数,然后 重新计算字符串的长度,由于"%20"为3个字符,比 ...

随机推荐

  1. dev代码拷贝中文乱码的解决方案

    .c / .cpp文件用记事本打开,再拷贝

  2. CDOJ--1141

    原题链接:http://acm.uestc.edu.cn/problem.php?pid=1141 分析:运用欧拉函数可解此题. #include <iostream> #include ...

  3. Java入门:使用Java API

    什么是Java类库 在编写程序的时候,通常有很多功能是通用的,或者是很基础的,可以用这些功能来组成更发杂的功能代码.比如文件操作,不同程序对文件的操作基本都是一样的,打开文件,关闭文件,读取文件里面的 ...

  4. Java入门:基础算法之产生随机数

    本程序演示使用Random类的呢想tInt()方法产生随机数. /* Program: 随机数发生器 * Written by: 理工云课堂 * Input: None * Output: 0 到20 ...

  5. python基础2--字典

    字典 字典是另一种可变容器模型,且可存储任意类型对象. 字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中 语法: goods ...

  6. Jmeter之性能测试

    Jmeter除了可以做接口测试外,还可以做性能测试.在 Jmeter中做性能测试,需要做如下相关设置 图片中有10个线程,Ramp-Up Period(in seconds)=1,那么线程的启动时间间 ...

  7. shell比较浮点数和整数

    今天有一个朋友忽然问我在shell中,如何比较浮点数和整数,倒是把我问的一愣,在工作中确实没有遇到这个场景.我们也知道,在shell中数字的计算通常都会转换成整数,比如说1.1和1会被认为是一样的.这 ...

  8. 个人常用Linux文件操作命令

    本文只记录个人工作中最常用到的命令.   关机和用户 shutdown -h now 关机 reboot 重启 sync 非正常关机前执行,强制将内存缓冲区中的数据立即写入磁盘中 logout 注销 ...

  9. Druid.io启用SQL支持

    Druid.io的SQL功能虽然在试验阶段,但是也支持了大部分的功能,而且还可以通过 Avatica JDBC查看请求的json,有助于我们理解Druid.io的语法.Druid.io有个比较坑的是, ...

  10. pentaho bi server 配置MySQL数据库

    软件版本: jdk 1.7 MySQL 5.5 biserver-ce-6.1.0.1-196 (选择右下方的所有选项See All Activities) 一.前置环境安装 1.安装jdk(略) 2 ...