C语言怎么将逗号转换成两个百分号

我定义一个字符串“192,000,123”,现在想将字符串中的逗号用两个%号来代替,该怎么做?

第1个回答  2016-05-23
#include <stdio.h>
#include <string.h>
#include <malloc.h>
// 将strRes中的form换为to,替换成功返回1,否则返回0。
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;
   q = from;
   while(*q && (*p++ == *q++));
   if(*q == '\0') {
    ts = (char *)malloc(strlen(strRes) + 1);
    strcpy(ts,p);
    strRes[i] = '\0';
    strcat(strRes,to);
    strcat(strRes,ts);
    free(ts);
    flag = 1;
   }
  }
 }
 return flag;
}
int main() {
 char str[80] = "192,000,123";
 printf("替换前:%s\n",str);
 if(StrReplace(str,",","%")) printf("替换后:%s\n",str);
 else printf("没有任何替换。\n");
 return 0;
}

 

第2个回答  2016-05-23

直接循环替换就行了

相似回答