char * strim(char *str)//去除首尾的空格
{char *end,*sp,*ep;int len;sp = str;end = str + strlen(str) - 1;ep = end;while(sp<=end && isspace(*sp))// *sp == ' '也可以sp++;while(ep>=sp && isspace(*ep))ep--;len = (ep < sp) ? 0:(ep-sp)+1;//(ep < sp)判断是否整行都是空格sp[len] = '\0';return sp;
}

这个函数的思想是:通过两个指针,首指针和尾指针的移动来达到消除字符串首尾空格的功能。

当首指针在结束指针前面,并且指向的是空格字符时,进行向后移动的操作。

当尾指针在首指针后面,并且指向的是空格字符时,进行向前移动的操作。

三个指针,其中端指针是固定的指向字符串尾的指针,sp与ep是用来移动的指针。

isspace()函数:

原型:extern int isspace(int c); 
  
 用法:#include <ctype.h> 
  
 功能:判断字符c是否为空白符
  
 说明:当c为空白符时,返回非零值,否则返回零。

空白符指空格,水平制表,垂直制表,换页,回车和换行符。

这里也可以用* sp == ' '来代替。

若有不足之处,还望指正!

C语言去除字符串首尾空格相关推荐

  1. C语言去掉字符串首尾空格,C语言实现去除字符串首尾空格

    C语言实现去除字符串首尾空格 2019年09月28日 | 萬仟网IT编程 | 我要评论 /* C语言去除字符串首尾空格,trim()函数实现 https://blog.csdn.net/u013022 ...

  2. 去掉字符串首尾逗号_去除字符串首尾空格和特殊字符

    去除字符串首尾空格和特殊字符 用户在输入数据时,经常会在无意中输入多余的空格,在有些情况下,字符串中不允许出现空格和特殊字符,此时就需要去除字符串中的空格和特殊字符.在PHP中提供了trim()函数去 ...

  3. 去除字符串首尾空格【shell】

    去除字符串首尾空格: trim_string() {: "${1#"${1%%[![:space:]]*}"}": "${_%"${_##* ...

  4. js 字符串删除首尾_js去除字符串首尾空格

    大家可能会说js删除字符串首尾空格有什么好说的, 哪个不会啊.确实,大家应该都会, 现在浏览器都支持, 不支持的可以使用ployfill,代码如下 if (!String.prototype.trim ...

  5. c语言去除字符串的空格,C语言实现去除字符串中空格

    去除字符串中所有空格 voidVS_StrTrim(char*pStr) { char *pTmp = pStr; while (*pStr != '/0') { if (*pStr != ' ') ...

  6. C语言 IP地址合法性判断 去除字符串首尾空格

    1.c语言地址合法判断 bool IsIPaddress_standard(const char* pszIPAddr) {if (!pszIPAddr) return false; //若pszIP ...

  7. js去除字符串首尾空格

    说明 JavaScript 正则表达式 g.i.m分别代表的意思 g:表示全局(global)模式,即模式将被应用于所有字符串,而非在发现第一个匹配项时立即 停止: i:表示不区分大小写(case-i ...

  8. Lua 利用 match 和正则表达式去除字符串首尾空格

      正则表达式中,字符含义这篇文章写的不错,https://www.cnblogs.com/meamin9/p/4502461.html.   其中 ^ 和 & 分别代表字符串首尾,%s 代表 ...

  9. JavaScript去除字符串首尾空格

    function trim(str)         {             return str.replace(//s+/g,"");         } javascri ...

最新文章

  1. linux cpp vscode远程调试 的配置
  2. 我是如何解决gitlab 命令行上传需要输密码
  3. linux 模拟时序,stm32GPIO模拟时序读写nandflash(K9F1G08U0B)问题
  4. k-means均值向量
  5. android 服务器返回302,Android WebView 内处理302重定向不跳转的解决
  6. jdbc mysql 存储过程查询数据_jdbc调用mysql存储过程实现代码
  7. mysql数据=_mysql 数据操作
  8. mediacodec编解码少帧问题
  9. 查看job运行时间,以便不影响生产数据库正常运行
  10. 华硕主板升级BIOS的全过程,用华硕的小伙伴都忍不住升级啦!
  11. 2016西安教师职称计算机考试,2016教师职称计算机考试模块.doc
  12. VMware安装及使用详细教程
  13. 网络电视机顶盒的工作原理
  14. php如何取视频缩略图,视频提取缩略图
  15. 今天吃什么随机网页_灵魂拷问:今天在西昌你想吃什么?
  16. Apifiny任命FBI前高管Timothy Murphy为董事会成员,帮助公司完成上市计划
  17. ip和ifconfig命令添加及删除虚拟IP
  18. 在virtualbox中导入.vmdk文件
  19. 通过搜狗抓取微信公众号--------破解url
  20. python视频在线教程_600集Python从小白到大神

热门文章

  1. 【Android Studio 3.5.3】安装编译环境,Android adb 安装及使用
  2. 谷歌浏览器怎么看到http版本
  3. 【python】注释
  4. 怎么使用口腔种植风险评估软件预防种植失败风险?
  5. F12抓包的使用教程
  6. Android手机的 storage
  7. 探秘AR与人工智能:虚拟与现实融合人工智能的随想
  8. 写给老爸老妈的成都麻将说明
  9. 上海医保每年注入时间
  10. Css中常用中文字体的Unicode编码对照