C语言查找替换字符

来源:百度知道 编辑:UC知道 时间:2024/05/16 15:44:03
定义一个函数replace(),其中包含三个形参:两个是字符型,一个是字符串型。该函数返回一个整数,函数的功能是在字符串中查找第一个字符,如果找到,用第二个字符替换该字符,并将替换的次数作为返回值,编写主函数调用该函数,要求在主函数中动态分配一组空间,将字符串输入该动态空间。

 #include<stdio.h>
  #include<conio.h>
  #include<string.h>
  #include<stdlib.h>
  void Substitute(char *pInput, char *pOutput, char *pSrc, char *pDst)
  {
  char    *pi, *po, *p;
  int     nSrcLen, nDstLen, nLen;
  // 指向输入字符串的游动指针.
  pi = pInput;
  // 指向输出字符串的游动指针.
  po = pOutput;
  // 计算被替换串和替换串的长度.
  nSrcLen = strlen(pSrc);
  nDstLen = strlen(pDst);
  // 查找pi指向字符串中第一次出现替换串的位置,并返回指针(找不到则返回null).
  p = strstr(pi, pSrc);
  if(p)
  {
  // 找到.
  while(p)
  {
  //计算被替换串前边字符串的长度.
  nLen = (int)(p - pi);
  // 复制到输出字符串.
  memcpy(po, pi, nLen);
  memcpy(po + nLen, pDst, nDstLen);