//字符串替换
string replace_all_distinct(string& str, const string& old_value, const string& new_value)
{
for (string::size_type pos(0); pos != string::npos; pos += new_value.length()) {
if ((pos = str.find(old_value, pos)) != string::npos)
str.replace(pos, old_value.length(), new_value); //用new_value替换str中从pos开始(包括0)的old_value.length()个字符的子串
else break;
}
return str;
}
//字符串替换
//int StrReplace(char strRes[], char from[], char to[]) {
// int i, flag = 0;
// char *p, *q, *ts;
// for (i = 0; strRes[i]; ++i) {
// if (strRes[i] == from[0]) {
// p = strRes + i; //p为从替换的第一个字符开始后面所有的字符串,例如you are cute,are换成is,p为are cute
// //printf(p);
// q = from;
// while (*q && (*p++ == *q++));
// if (*q == '\0') {
// ts = (char *)malloc(strlen(strRes) + 1); //malloc函数用于向操作系统申请内存,声明在stdlib.h中,
// //并将指针转换为char *类型赋值给ts,申请的大小为(strlen(strRes) + 1)。
// strcpy(ts, p); //字符串复制,p为cute
// strRes[i] = '\0';
// strcat(strRes, to); //字符串链接,strRes为"you ",设strRes[i] = '\0';即是把后面的截断
// strcat(strRes, ts);
// // printf("strRes2%s\n", strRes);
// free(ts);
// flag = 1;
// }
// }
// }
// return flag;
//}