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]!='