c语言中字符串替换
‘壹’ c语言 把某一字符串中的其中一段字符串替换成另一串字符串。
#include
<stdio.h>
#include
<string.h>
void
main(void)
{
char
getstr[100];
char
sendstr[100];
char
a_b[100];
char
i;
printf("please
input
the
firs
str!\n");
gets(getstr);
printf("please
input
the
second
str
!\n");
gets(sendstr);
strcpy(a_b,getstr);
//交换两个字符串的数据
strcpy(getstr,sendstr);
strcpy(sendstr,a_b);
for(i
=
0;
getstr
!=
'\0';
i++)
{
printf("str1:%c",getstr[i]);
}
for(i
=
0;
getstr
!=
'\0';
i++)
{
printf("str2:%c",sendstr[i]);
}
}
这是将两个字符串进行交换后输出。
第二个问题则用到了数据结构了,使用一个结构体链表,使用strcmp()或strcmpi()比对你输入的字符串,找到相同的输出对应的中文字符串就好了。
其中:
strcmp()
对两个字符串进行大小写敏感的比较;strcmpi()
对两个字符串进行大小写不敏感的比较;
‘贰’ C语言问题 字符(串)替换
主要是for循环有问题,修改后的代码:
#include <stdio.h>
#include <string.h>
int main()
{
char src[250], pattern[250], replace[250], dst[250];
int i, j, k, l, m=0;
int pattern_len, match_len;
gets( src );
gets( pattern );
gets( replace );
pattern_len = strlen( pattern );
// strcpy( dst, src );
for ( i = 0; src[i]; i++ )
{
for ( j = 0, k = i, match_len = 0; pattern[j]; j++, k++ )
{
if ( pattern[j] == src[k] )
{
match_len++;
}
else
{
match_len=0;
break;
}
}
if ( match_len == pattern_len )
{
// for ( k = 0; k < i; k++ )
// dst[k] = src[k];
for ( l = 0; replace[l]; m++, l++ )
dst[m] = replace[l];
// for ( l = i + match_len; src[l]; k++, l++ )
// dst[k] = src[l];
// dst[k] = '\0';
// break;
i+=match_len-1;
}
else
{
dst[m] = src[i];
m++;
}
}
dst[m]='\0';
puts( dst );
return 0;
}
‘叁’ 在 C语言中字符串的替换如何实现的!
原理相同。。找到关键字词。。可以使用strstr()库函数。。使用STRCPY替换函数。。但是要考虑替换单词长度和被替换单词长度。。做好其他字符串的移位和字符串长度变化的空间分配与回收。
‘肆’ C语言字符串替换
效果图:
#include<stdio.h>
intgetLen(chara[]){
intlen=0;
while(a[len]!='