c语言字符串替换字符函数 c语言中字符串替换函数( 四 )


strcpy(copy,cfirst);
strcat(copy,csecond);
add_to=copy;
coutlt;lt;"copy:"lt;lt;copylt;lt;endl;
delete[]copy;
coutlt;lt;"add_to:"lt;lt;add_tolt;lt;endl;
return 0;
}
例(1)
函数声明:const char*c_str();
c_str()函数返回一个指向正规C字符串的指针,内容与本string串相同.
这是为了与c语言兼容,在c语言中没有string类型,故必须通过string类对象的成员函数c_str()把string对象转换成c中的字符串样式 。
注意:一定要使用strcpy()函数等来操作方法c_str()返回的指针
比如:最好不要这样:
char*c;
string s="1234";
c=s.c_str();
//c最后指向的内容是垃圾,因为s对象被析构,其内容被处理(纠正:s对象的析构是在s的生命周期结束时 , 例如函数的返回)
参考资料:
百度百科——c_str
c语言运用函数替换字符串中的数字求助大佬#include stdio.h
#define N 80
/* 请在这里填写答案 */
void f(char *c,char a)
{
for(;*c;c++)
if(*c='0'*c='9')
*c=a;
}
int main(void)
{
char c[N], a;
gets(c);
scanf("%c", a);
f(c, a);
printf("%s", c);
return 0;
}
c语言如何将一个字符串里某些字符代替另外一个字符串来几天前回答过一样的问题,数字也可以的 , 我测试过了 。长度不同也可以 。
#include stdio.h
#include string.h
main()
{ char string[300],change[50],replace[50];
char s[300];
char *p,*q;
int i,lengthch,lengthre,flag,j=0;
printf("Input a string:");
gets(string);
printf("Input the string you want to be changed:");
scanf("%s",change);
printf("Input the string you want to replace:");
scanf("%s",replace);
lengthch=strlen(change);
lengthre=strlen(replace);
puts(string);
p=q=string;
for(;*p;p++)
{ if(*p==change[0])
{
flag=1;
q=p;
for(i=0;ilengthch;i++)
{if(*q!=change[i])
{ flag=0;
break;
}
else q++;
}
if(flag==1)
{ for(i=0;ilengthre;i++)
s[j++]=replace[i];
p=q-1;
}
}
else s[j++]=*p;
}
s[j]='\0';
puts(s);
}
关于c语言字符串替换字符函数和c语言中字符串替换函数的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息 , 记得收藏关注本站 。

推荐阅读