zoukankan      html  css  js  c++  java
  • 字符串操作

      对给定字符串删除特定字符或者是特定字符串。对字符串操作一定要注意结束符''的处理。

    // StrDeleteChar.cpp : 定义控制台应用程序的入口点。
    //
    
    #include "stdafx.h"
    
    void StrDeleteChar(char *str, char ch)
    {//删除字符串str中的指定字符ch
        int i, j;
        for (i = 0,j = 0; str[i] != ''; i++)
        {
            if (str[i] != ch)
            {
                str[j++] = str[i];
            }
        }
        str[j] = '';
    }
    
    void StrDeleteWord(char *str, char *wd)
    {//删除字符串中str中的指定单词wd
        int i,j,k;
        int len = strlen(wd);
        for (i=0,j=0,k=0; str[i] != ''; i++)
        {
            //字符不相等
            if (str[i] != wd[j])
            {
                str[k++] = str[i];
                j = 0;
            }
            else
            {
                while (str[i] == wd[j] && j < len)
                {
                    i++;
                    j++;
                }
                //匹配
                if (j == len)
                {
                    //str[k] = str[i];
                    j = 0;
                    --i;
                }
                else   //不匹配
                {
                    i = i- j;
                    j = 0;
                    str[k++] = str[i];
                }
            }
        }
        str[k] = '';
    }
    
    int _tmain(int argc, _TCHAR* argv[])
    {
        char str[] = "I amtion a student, haha";
        StrDeleteChar(str, 'a');
        printf("After delete :%s
    ", str);
        char str1[] = "Hello world,I amamam here am haha.";
        char wd[] = "am";
        StrDeleteWord(str1,wd);
        printf("After delete word: %s,the result is:%s
    ",wd,str1);
        
        return 0;
    }
    
    
    2014/4/16 20:40
  • 相关阅读:
    世界编程大赛第一名编写的程序3D世界
    bool与BOOL
    防浪涌电路
    用户至上,体验第一
    VC菜菜鸟创建多线程任务HelloWorld
    Google,a good dog
    算法学习之路
    巧用VC工程下的rc文件
    堆与栈
    关于信息量的压缩
  • 原文地址:https://www.cnblogs.com/Jason-Damon/p/3669629.html
Copyright © 2011-2022 走看看