文档章节

从一个字符串中去除多余的空格

whiteriver
 whiteriver
发布于 2015/08/18 02:30
字数 262
阅读 17
收藏 0
 /**
  *从一个字符串中去除多余的空格
  *函数原型为:void deblank ( char string[]);
  *如果发现字符串中有一个地方由一个或多个连续的空格组成,就把它们改成单个空格
  */
 
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
 #define MAX_LEN 100
 #define END "Finished!"
 
 void deblank (char string[]);
 void read_line (char *p);
 
 int main (void){
  char str[MAX_LEN+1];
  for(;;){
   /**
    *逐个读入字符
    */ 
  printf("输入字符串,若输入 Finished!就结束程序\n");
   read_line(str);
   /**
    *判断是否结束程序
    */
  if (strcmp(str,END)==0)
   break;
   
   printf("清除前:");
   puts(str);
   
   /**
    *进行清除多余空格的操作
    */
  deblank(str);
  printf("清除后:");
  puts(str); 
  }
  
  /**
   *测试程序是否到达文件结尾
   */
  printf("程序到达文件结尾\n");
  return 0; 
 } 
 
 void read_line(char *p){
  char *q=p;
  char ch;
  while((ch=getchar())!='\n'){
   *q++=ch;
  }
 *q='\0';
 }
 
 void deblank ( char string[]){
  char *p=string;
  char *q=string;
  int same_space=0;      //记录相邻的空格
  
  while(*p!='\0'){
   /**
    *判断是否存在空格
    */ 
   if (*p==' '){
      /**
       *进行清除多余的空格操作
       */
      if(same_space>0){
       p++;
    continue; 
   }
    same_space++;
   }else{
    same_space=0;
   }
  
  *q++=*p++;  
  }
  *q='\0';
 }

© 著作权归作者所有

whiteriver
粉丝 1
博文 8
码字总数 1311
作品 0
潮州
私信 提问
NSCharacterSet string生态库

NSCharacterSet 正如之前提前过的,基础类库(Foundation)拥有最好的、功能也最全的string类的实现。 但是仅当程序员熟练掌握它时,一个string的实现才是真的好。所以本周,我们将浏览一些基...

北方人在上海
2015/08/04
1K
0
C语言strcpy报segmentation fault

Hello,谁帮我看看下面的程序出错在哪里,为什么错了?想了半天也没想出来. deblank的作用是去除字符串中多余的空格(连续的空格替换成一个).谢谢! 结果: 环境 gcc version 4.6.3 (Ubuntu/Linaro...

cyper
2015/04/17
1K
8
字符串的片段数 Number of Segments in a String

问题: Count the number of segments in a string, where a segment is defined to be a contiguous sequence of non-space characters. Please note that the string does not contain any......

叶枫啦啦
2017/07/11
7
0
Matlab字符串分割(split)

我们在这里借助正则表达式函数regexp的split模式。一般语法: S = regexp(str, char, 'split') 其中str是待分割的字符串,char是作为分隔符的字符(可以使用正则表达式)。分割出的结果存在S...

Yong_Luo
2013/05/23
11.5K
0
Python3基础-字符串方法

字符串类型转换 int() 将符合整数格式的字符串转换为整数。 float() 将符合浮点数格式的字符串转换为浮点数。 str() 将整数和浮点数转换为字符串。 字符串大小写转换 lower() 大写全转换小写...

ZHAO_JH
2018/02/06
7
0

没有更多内容

加载失败,请刷新页面

加载更多

【TencentOS tiny】深度源码分析(4)——消息队列

消息队列 在前一篇文章中【TencentOS tiny学习】源码分析(3)——队列 我们描述了TencentOS tiny的队列实现,同时也点出了TencentOS tiny的队列是依赖于消息队列的,那么我们今天来看看消息...

杰杰1号
7分钟前
1
0
Hive

这就是那个 JAVA 类 package cn.itcast.bigdata;import java.util.HashMap;import org.apache.hadoop.hive.ql.exec.UDF;public class PhoneNbrToArea extends UDF{privat......

Garphy
7分钟前
2
0
Springboot开发,第二天

SpringBoot学习,第二天 目录:1、Springboot整合Listener 2、Springboot访问静态资源 3、异常处理 4、热部署 一、SpringBoot整合Listener 两种方式完成组件的注册 1、通过注解扫描完成组件的...

有一个小阿飞
11分钟前
3
0
BeginnersBook Perl 教程

来源:ApacheCN BeginnersBook 翻译项目 译者:飞龙 协议:CC BY-NC-SA 4.0 贡献指南 本项目需要校对,欢迎大家提交 Pull Request。 请您勇敢地去翻译和改进翻译。虽然我们追求卓越,但我们并...

ApacheCN_飞龙
23分钟前
2
0
我的Java秋招面经大合集

阿里面经 阿里中间件研发面经 蚂蚁金服研发面经 岗位是研发工程师,直接找蚂蚁金服的大佬进行内推。 我参与了阿里巴巴中间件部门的提前批面试,一共经历了四次面试,拿到了口头offer。 然后我...

Java技术江湖
28分钟前
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部