字符串内存图如下:

引入头文件:

 1 #include<stdlib.h>
2 #include<stdio.h>
3 #include<string.h>

函数原型:

1 void trim(char *strIn /*in*/, char *strOut /*in*/);

实现方法一:

void trim(char *strIn, char *strOut){

    int i, j ;

    i = 0;

    j = strlen(strIn) - 1;

    while(strIn[i] == ' ')
++i; while(strIn[j] == ' ')
--j;
strncpy(strOut, strIn + i , j - i + 1);
strOut[j - i + 1] = '\0';
}

实现方法二:

 1 void trim(char *strIn, char *strOut){
2
3 char *start, *end, *temp;//定义去除空格后字符串的头尾指针和遍历指针
4
5 temp = strIn;
6
7 while (*temp == ' '){
8 ++temp;
9 }
10
11 start = temp; //求得头指针
12
13 temp = strIn + strlen(strIn) - 1; //得到原字符串最后一个字符的指针(不是'\0')
14
15 printf("%c\n", *temp);
16
17 while (*temp == ' '){
18 --temp;
19 }
20
21 end = temp; //求得尾指针
22
23
24 for(strIn = start; strIn <= end; ){
25 *strOut++ = *strIn++;
26 }
27
28 *strOut = '\0';
29 }

测试:

 1 void main(){
2 char *strIn = " ak kl p ";
3
4 char strOut[100];
5
6 trim(strIn, strOut);
7
8 printf("*%s*\n",strOut);
9
10 system("pause");
11 }

最新文章

  1. Javascript与ECMAScript
  2. ubuntu12.04下root启动wireshark报错解决办法
  3. object-c学习笔记
  4. Dynamics CRM4.0 和 Dynamics CRM2011 Plugin 实现一样的功能的方法的比较
  5. Linux下Memcached-1.4.10安装
  6. Linux中查看进程的多线程
  7. CloudStack服务引擎配置(cloud-engine-service模块)
  8. Hadoop介绍及最新稳定版Hadoop 2.4.1下载地址及单节点安装
  9. mysql获取当前时间,前一天,后一天
  10. 表单Checkbox全选反选全不选
  11. Django-0-环境搭建、创建项目、启动服务
  12. Android破解学习之路(十三)—— 另类的破解VIP思路
  13. JAVA微信支付~
  14. TFS 安装遇到的问题
  15. 再谈全局网HBase八大应用场景
  16. TCP UDP Socket 即时通讯 API 示例 MD
  17. [Openwrt 项目开发笔记]:MySQL配置(六)
  18. 01 Go 1.1 Release Notes
  19. 阻塞队列之五:LinkedBlockingQueue
  20. CF724E Goods transportation

热门文章

  1. 高性能MySQL之基础架构
  2. virtualbox安装ubuntu16 LTS及其配置
  3. Spring IoC源码解析之getBean
  4. Spark 系列(十五)—— Spark Streaming 整合 Flume
  5. IntelliJ IDEA提升效率开发插件必备
  6. js高程3--面向对象的程序设计--创建对象
  7. REST 在 Java 中的使用
  8. cocos creator 事件
  9. Vue+ElementUI项目使用webpack输出MPA
  10. 通过视图实现自定义查询&lt;持续完善中。。。&gt;