當前位置:首頁 » 編程語言 » 替換字元串中的字元串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;/*返回是否成功*/

}

熱點內容
進化腳本 發布:2024-11-26 10:27:38 瀏覽:857
人生的腳本圖片 發布:2024-11-26 10:22:32 瀏覽:499
winform源碼下載 發布:2024-11-26 10:11:57 瀏覽:985
貓咪國外訪問 發布:2024-11-26 09:32:05 瀏覽:618
威立信監控原始密碼是多少 發布:2024-11-26 09:24:06 瀏覽:489
超凡先鋒選擇不了伺服器該怎麼辦 發布:2024-11-26 09:15:56 瀏覽:338
搭建ff伺服器喝茶 發布:2024-11-26 09:10:09 瀏覽:847
樂山雲伺服器公司 發布:2024-11-26 08:59:44 瀏覽:955
ftp工具可以上傳嗎 發布:2024-11-26 08:55:04 瀏覽:571
壓縮量密封 發布:2024-11-26 08:52:10 瀏覽:583