c语言字符串替换
⑴ c语言字符串替换代码
把你的代码直接复制、粘贴,运行出来的结果里,字符串b并没有变啊!
添加了几句puts语句,用来显示中间过程的字符串的状态,如下:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<math.h>
//替换某串
intmain()
{
chars[]={"abcdefcdff"};
chara[]={"cd"};
charb[4]={"123"};
chart[4];
char*ptr;
//s中的a都用b替代
while(ptr=strstr(s,a))
{
puts("STRING---b:");
puts(b);
puts("STRING---s:");
puts(s);
strcpy(t,ptr+strlen(a));
puts("STRING---b:");
puts(b);
puts("STRING---t:");
puts(t);
strcpy(ptr,b);
puts("STRING---ptr:");
puts(ptr);
strcpy(ptr+strlen(b),t);
puts("STRING---s:");
puts(s);
puts(" ");
}
puts("STRING---s:");
puts(s);
return0;
}
运行截图:
⑵ c语言:如何将字符串中指定的字符替换为另一个指定字符
需要准备的材料分别有:电脑、C语言编译器。
1、首先,打开C语言编译器,新建一个初始.cpp文件,例如:test.cpp。
⑶ C语言 指针,字符串替换
char
*replace(char
*source,
char
*sub,
char
*rep)
{
char
*result;
/*pc1
是复制到结果result扫描指针*/
/*pc2
是扫描
source
辅助指针*/
/*pc3
寻找子串时,为检查变化中source是否和子串相等,是指向sub扫描指针
*/
/*找到匹配后,为了复制到结果串,是指向rep扫描指针*/
char
*pc1,
*pc2,
*pc3;
int
isource,
isub,
irep;
isub
=
strlen(sub);
/*对比串长度*/
irep
=
strlen(rep);
/*替换串长度*/
isource=
strlen(source);
/*源串长度*/
if(NULL==*sub)
return
strp(source);
/*申请结果串需要空间*/
result
=
(char
*)malloc(((irep>isub)?(float)strlen(source)/isub*irep+1:isource)*sizeof(char));
pc1
=
result;
/*为pc1依次复制结果串每个字节作准备*/
while(*source
!=
NULL)
{
/*为检查source和sub是否相等作准备,为pc2,pc3
赋初值*/
pc2
=
source;
pc3
=
sub;
/*
出循环(任)条件是:
*
*pc2
不等于
*pc3
(和子串不相等)
*
pc2
到源串结尾
*
pc3
到源串结尾
(此时,检查了全部子串,source处和sub相等)
*****************************************************/
while(*pc2==*pc3
&&
*pc3
!=
NULL
&&
*pc2
!=
NULL)
pc2++,
pc3;
/*
如果找到了子串,进行以下处理工作*/
if(NULL==*pc3)
{
pc3
=
rep;
/*将替代串追加到结果串*/
while(*pc3
!=
NULL)
*pc1
=
*pc3;
pc2--;
source
=
pc2;
/*
检查
source和sub相等循环结束后
*
pc2
对应位置是在
sub
中串结束符处该是源串中下个位置
*
将
source
指向其前面个
***************************************************/
}
/*如果没找到子串,下面复制source所指字节到结果串*/
*pc1
=
*source;
source;
/*
将source向后移个*/
}
*pc1
=
NULL;
result;
}
⑷ C语言 把字符串中的字母替换
char *p = "sdkfiimw";
因为你这句把指针指向了常量,而p是一个变量指针
两个改法
一,申明一个字符数组,让p指向这个数组
二,把p和s申明为指向常量的指针
const char *p = "sdkfiimw";
const char *s = p;
⑸ c语言如何把字符替换成字符串
简单。
编个程,就行。
⑹ 求C语言替换字符串中某个字符的函数
#include "stdio.h"
#include "string.h"
void swap(char s[100],char a,char b)/*a为原来要替换的字符,b是替换后的字符*/
{
int i;
for(i=0;i<strlen(s);i++)
{
if(s[i]==a)
{
s[i]=b;
}
}
}
main()
{
char s[100];
char a,b;
int i;
printf("请输入一个字符串:\n");
gets(s);
printf("\n请输入要替换的字符和要替换后的字符,用逗号隔开:");
scanf("%c,%c",&a,&b);
swap(s,a,b);
puts(s);
}
⑺ c语言如何将一个字符串里某些字符代替另外一个字符串来
用char *strstr(const char *str, const char *strSearch ); 函数找到源字符串中,你要替换的字符串。该函数返回要替换的字符串的指针。然后将替换的字符串赋值给该指针的位置。
⑻ C语言字符串替换
效果图:
#include<stdio.h>
intgetLen(chara[]){
intlen=0;
while(a[len]!='