当前位置:首页 » 编程语言 » 替换字符串中的字符串c语言

替换字符串中的字符串c语言

发布时间: 2024-07-12 19:46:44

1. c语言:如何将字符串中指定的字符替换为另一个指定字符

需要准备的材料分别有:电脑、C语言编译器。

1、首先,打开C语言编译器,新建一个初始.cpp文件,例如:test.cpp。

2. 在 C语言中字符串的替换如何实现的!

1、首先输入代码:

#include <string.h>

#include <stdio.h>

/**

* 参数:

* originalString[] :原始字符串

* key[] : 待替换的字符串

* swap[] : 新字符串

*/

void replace(char originalString[], char key[], char swap[]){

int lengthOfOriginalString, lengthOfKey, lengthOfSwap, i, j , flag;

char tmp[1000];

3. c璇瑷锛氩备綍灏嗗瓧绗︿覆涓鎸囧畾镄勫瓧绗︽浛鎹涓哄彟涓涓鎸囧畾瀛楃

闇瑕佸嗳澶囩殑𨱒愭枡鍒嗗埆链夛细鐢佃剳銆丆璇瑷缂栬疟鍣ㄣ

1銆侀栧厛锛屾墦寮C璇瑷缂栬疟鍣锛屾柊寤轰竴涓鍒濆.cpp鏂囦欢锛屼緥濡傦细test.cpp銆

4. C语言如何实现字符之间的替换(打出一列顺序,输出按此顺序输出)

根据你的题意。

第一行输入是26个字母的指定顺序。

第二行输入是内容字符串。

将内容字符串中的字母按照指定顺序替换成对应26个字母原顺序的字母。

规则:第一行输入必须是26个小写母,且不能重复。

替换后的字符中字母大小写参照原字符串。

下面是代码:

#include<stdio.h>

#include<string.h>

#define MAXLEN 100//第二行输入字符串的最大长度

char *inPutNewOrder();//输入26个字母的新顺序,必须为小写字母,不能有重复。输入成功返回字符串,失败返回NULL

char getNewLetter(char cIn,char newOrder[27]);//获取字母对应newOrder的原始字母,成功返回字母,失败返回0

int main()

{

int i;

char *newOrder;//输入新字母顺序

char inputStr[MAXLEN],cIn;

while(1)

{

newOrder=NULL;

while(!newOrder)

newOrder=inPutNewOrder();

memset(inputStr,0,sizeof(char)*MAXLEN);

for(i=0;i<MAXLEN;i++)

{

cIn=getchar();

if(cIn==10)//回车结束输入

break;

if((cIn>=65 && cIn<=90)||(cIn>=97 && cIn<=122))//如输入的是字母,对应新字母顺序,找到原字母

inputStr[i]=getNewLetter(cIn,newOrder);

else

inputStr[i]=cIn;

}

if(i==MAXLEN)

while ((cIn = getchar()) != EOF && cIn != ' ');

printf("%s ",inputStr);

}


return 0;

}

char *inPutNewOrder()//输入26个字母的新顺序,必须为小写字母,不能有重复

{

int i=0,j,flag=1;

static char newOrder[27];

char c=0;

memset(newOrder,0,sizeof(char)*27);

while(1)

{

if(newOrder[25]!=0)

break;

c=getchar();

if(c<97 || c>122)//输入小写字母以外字符,标识错误

flag=0;

for(j=0;flag && j<i;j++)

if(newOrder[j]==c)//输入重复,标识错误

flag=0;

if(!flag)//错误,终止输入

{

printf("输入格式错误!必须为26个小写字母,且不能有重复,请重新输入。 ");

while ((c = getchar()) != EOF && c != ' ');

return NULL;

}

newOrder[i]=c;

i++;

}

while ((c = getchar()) != EOF && c != ' ');

return newOrder;

}

char getNewLetter(char cIn,char newOrder[27])//获取字母对应newOrder的原始字母,成功返回字母,失败返回0

{

static char letters[]="abcdefghijklmnopqrstuvwxyz";

char c;

int i,flag;//flag=1大写字母,flag=0是小写字母

if(cIn>=65 && cIn<=90)//输入的是大写字母

c=cIn+32,flag=1;

if(cIn>=97 && cIn<=122)//输入的是小写字母

c=cIn,flag=0;

for(i=0;i<26;i++)

if(newOrder[i]==c)//在新序列中匹配大写字母或小写字母

{

if(flag)

return letters[i]-32;

else

return letters[i];

}

return 0;

}



5. C语言 字符串替换replace() 求加每句注释...........谢谢. ....没分了,有分了追加....

#include<stdio.h>
#include<string.h>
#include <stdlib.h>
//参数,src 字符串源,sub想要替换的字符串,dst,用来替换的字符串
char*replace(char*src, char*sub, char*dst)
{
//记录当前指针位置
int pos =0;
//记录偏移

int offset =0;
//字符串长度
int srcLen, subLen, dstLen;
//返回内容

char*pRet = NULL;

//求得各字符串长度

srcLen = strlen(src);
subLen = strlen(sub);
dstLen = strlen(dst);
//申请替换后的字符串缓冲区。用dst替换sub,所以应该是srclen-sublen+dstlen,+1流出'\0'位置
pRet = (char*)malloc(srcLen + dstLen - subLen +1);//(外部是否该空间)if (NULL != pRet)
{
//strstr查找sub字符串出现的指针。该指针减去src地址。得到相对位置
pos = strstr(src, sub) - src;
//拷贝src字符串,从首地址开始,pos个字符。
memcpy(pRet, src, pos);
//增加偏移位置到pos
offset += pos;
//拷贝dst到返回内容中。
memcpy(pRet + offset, dst, dstLen);
//重新定位偏移
offset += dstLen;
//拷贝src中,sub字符串后面的字符串到pRet中
memcpy(pRet + offset, src + pos + subLen, srcLen - pos - subLen);
//重新定位偏移
offset += srcLen - pos - subLen;
//最后添加字符串结尾标记'\0'
*(pRet + offset) ='\0';
}
//返回新构造的字符串
return pRet;
}

6. c语言中完成一个自定义函数,替换指定字符串中的对应字符的代码

BOOLstrrep(char*strRes,char*from,char*to)

{

inti;

BOOLflag=0;

char*p,*q,*ts;

for(i=0;strRes[i];++i)

{

if(strRes[i]==from[0])

{

p=strRes+i;

q=from;

while(*q&&(*p++==*q++));

if(*q=='')

{

ts=(char*)malloc(strlen(strRes)+1);//分配内存strcpy(ts,p);//复制字符串
strRes[i]='';

strcat(strRes,to);//连接字符串
strcat(strRes,ts);

free(ts);//释放内存
flag=1;//成功
}

}

}

returnflag;/*返回是否成功*/

}

热点内容
crabgame怎么换服务器 发布:2024-11-26 12:01:26 浏览:250
打开一百兆cad不卡要什么配置 发布:2024-11-26 11:54:17 浏览:616
qq为什么密码修改好了就进不去 发布:2024-11-26 11:37:05 浏览:383
电容为啥耐压越大存储量越小 发布:2024-11-26 11:31:52 浏览:190
天然气车载储气瓶泄露处置脚本 发布:2024-11-26 11:17:36 浏览:255
换ip的服务器 发布:2024-11-26 11:17:29 浏览:76
容器平台怎么看配置 发布:2024-11-26 11:06:09 浏览:941
qq的xml源码 发布:2024-11-26 11:04:05 浏览:705
ip设计缓存设置 发布:2024-11-26 10:56:49 浏览:108
c语言k值 发布:2024-11-26 10:48:53 浏览:871