C ++在字符串中插入字符

时间:2013-11-30 18:01:23

标签: string insert

我想在每个字符串后插入一些字符 我找到了如何在每个角色之前插入,但我想要的是:

string str =“12 + 5”

在每个数字后插入^

输出=“12 ^ + 5 ^”

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

这样的事情应该有效:

int main()
{
 char string[128] = "12 + 5";
 char output[128] = {};
 char side_string[128] = {};
 int pos_string = 0;

 for (pos_string = 0; pos < length(string); pos_string ++) {
  if (string[pos_string] < '0'  && string[pos_string] > '9') {
   if (strlen(side_string) >  0) {
    strcat(output, side_string);
    strcat(output, "^");
    side_string[0] = 0;
   }
   output[strlen(output)] = string[pos_string];
  } else {
   side_string[strlen(side_string)] = string[pos_string];
  }
 }
 if (strlen(side_string) > 0) {
  strcat(output, side_string);
  strcat(output, "^");
  side_string[0] = 0;
 }

注:

  1. 代码效率低下,但它是为了简单而不是简洁而编写的
  2. 代码 INSECURE 没有长度检查,也没有BO的验证