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);