#include "stdafx.h"
#include <
stdio.h>
#include <
string.h>
void replaceChar(char *string, char oldChar, char newChar){
int len = strlen(string);
int i;
for (i = 0; i < len; i++){
if (string[i] == oldChar){
string[i] = newChar;
}
}
}
int main(){
char str[] = "test";
char oldChar = 't';
char newChar = 'w';
replaceChar(str, oldChar, newChar);
printf("%s\n", str);
return 0;
}
追问能定义两个字符串进行替换吗,谢谢了,大神
追答#include <stdio.h>
#include <string.h>
void replaceStr(char *string, char *oldStr, char *newStr){
char *index;
index = strstr(string, oldStr);
int indexOfSubString = strlen(string)-strlen(index);
char firstPart[80]="";
int i;
for (i = 0; i < indexOfSubString; i++){
firstPart[i] = string[i];
}
strcat(firstPart, newStr);
int indexOfLastPart = indexOfSubString + strlen(oldStr);
char lastPart[80] = "";
int count=0;
for (i = indexOfLastPart; i < strlen(string); i++,count++){
lastPart[count] = string[i];
}
strcat(firstPart, lastPart);
printf("%s\n", firstPart);
}
int main(){
char str[] = "baiduzhidao";
char oldStr[] = "idao";
char newStr[] = "oudong";
replaceStr(str, oldStr, newStr);
return 0;
}