C指针练习之,去除空格和标点符号的字符串

#include <stdio.h>
#include <ctype.h>
#include <stdlib.h>

#define BUF_LEN 20
#define BUF_INCR 10

int main(void)
{
    size_t buf_len  = BUF_LEN;
    char *buffer = (char*)malloc(buf_len);
    char *temp =NULL;
    char *pbuffer1 = buffer;
    char *pbuffer2 = NULL;

    printf("Enter:\n");

    //经典代码1,运行期动态分配内存
    while((*pbuffer1++=getchar())!=‘\n‘)
    {
        if((pbuffer1-buffer)==buf_len)
        {
            buf_len+=BUF_INCR;
            if(!(temp = realloc(buffer,buf_len)))
            {
                printf("bullshit!");
                exit(1);
            }
            pbuffer1 = temp + (pbuffer1 - buffer);
            buffer = temp;
            temp = NULL;
        }
    }

    *pbuffer1 = ‘\0‘;
    pbuffer1 = pbuffer2 = buffer;

    //经典代码段2,设置两个指针,对字符串进行操作,第三个指针进行全输出。
    while((*pbuffer1)!=‘\0‘)
    {
        if(ispunct(*pbuffer1)||isspace(*pbuffer1))
        {
            *pbuffer1++;
            continue;
        }
        else
            *pbuffer2++ = *pbuffer1++;
    }

    *pbuffer2 = ‘\0‘;
    printf("With the spaces and punctuation removed, the string is now:\n%s\n", buffer);
      free(buffer);
    return 0;
}
时间: 2024-12-27 09:49:32

C指针练习之,去除空格和标点符号的字符串的相关文章

处理字符串的一些js/jq方法(去除HTML,去除空格,计算真实长度,截取中英文字符)

stringObject.replace(regexp,replacement) regexp 必需.规定了要替换的模式的 RegExp 对象.请注意,如果该值是一个字符串,则将它作为要检索的直接量文本模式,而不是首先被转换为 RegExp 对象.replacement 必需.一个字符串值.规定了替换文本或生成替换文本的函数. 去除html标签:function del_html_tags(str){    var words = '';    words = str.replace(/<[^>

Shell去除空格和空行的方法

一.去除空行的方法 有时我们在处理和查看文件时,经常会有很多空行,为了美观或是有需要时,就有必要把这些除行去掉了,方法如下: 1)用tr命令 复制代码 代码如下: cat 文件名 |tr -s '\n' 2)用sed命令 复制代码 代码如下: cat 文件名 |sed '/^$/d' 3)用awk命令 复制代码 代码如下: cat 文件名 |awk '{if($0!="")print}'cat 文件名 |awk '{if(length !=0) print $0}' 4)用grep命令

jQuery validation 去除空格

当input输入了空格是不会提示信息的 一般会去除空格然后进行验证 这个时候就要添加onkeyup事件去除左侧的空格 //添加验证手机方法 jQuery.validator.addMethod("isMobile", function(value, element) { var length = value.length; var mobile = /^(((13[0-9]{1})|(15[0-9]{1}))+\d{8})$/; return this.optional(element

js 去除空格与换行

js 去除空格与换行 //去除空格 String.prototype.Trim = function() { return this.replace(/\s+/g, ""); } //去除换行 function clearBr(key) { key = key.replace(/<\/?.+?>/g,""); key = key.replace(/[\r\n]/g, ""); return key; } //去除左侧空格 functi

js去除空格12种方法

注:本文转载于csdn:黄卉博主的文章<js去除空格12种方法> 实现1 1 String.prototype.trim = function() { 2 return this.replace(/^\s\s*/, '').replace(/\s\s*$/, ''); 3 } 看起来不怎么样, 动用了两次正则替换,实际速度非常惊人,主要得益于浏览器的内部优化.一个著名的例子字符串拼接,直接相加比用Array做成的StringBuffer 还快.base2类库使用这种实现.实现2 1 Strin

读文件内容,分割字符串,去除空格,换行,回车,制表符

package sunline.common.logic.Utils; import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.IOException;import java.io.InputStream;import java.util.ArrayList;import java.util.HashMap;import java.util.Lis

python3 随笔记- 去除空格、换行符

一.去除空格 strip() " xyz ".strip() # returns "xyz" " xyz ".lstrip() # returns "xyz " " xyz ".rstrip() # returns " xyz" " x y z ".replace(' ', '') # returns "xyz" 二.替换 replace(&quo

NSString去除空格字符-包括两边字符trim()

去除空格: NSString *cleanString = [dirtyString stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]]; 还有就是去除多于的空格,如下: NSString *theString = @"    Hello      this  is a   long       string!   ";        NSCharacterSet *whi

kettle输入“去除空格类型”设置不上

kettle输入“去除空格类型”设置不上,设置完了还是现实“none”的办法: 在xml中直接将对应处“none”改为“both”,即“去掉两边空格”. 原文来自:http://blog.csdn.net/sptoor/article/details/24427627