代码之家  ›  专栏  ›  技术社区  ›  Ash

尝试在C中执行strcat函数时,exc_bad_访问

  •  2
  • Ash  · 技术社区  · 14 年前

    我有一个用C语言编写的uni程序,当我的代码到达这一行时:

    strcat("md5 ", "blah");
    

    我收到一个exc-bad-access错误,我的应用程序崩溃。据我所知,它没有什么问题,所以我认为一双新的眼睛可以解决我的问题。有什么想法吗?

    4 回复  |  直到 14 年前
        1
  •  8
  •   kichik    14 年前

    strcat

    char s[100];
    strcpy(s, "md5 ");
    strcat(s, "blah");
    
        2
  •  3
  •   nos    14 年前

    char result[9]; //the result here needs 8 characters + a nul terminator
    strcpy(result,"md5 ");
    strcat(result,"blah"
    

    const char *a = "md5 ";
    const char *b = "blah";
    char *result = malloc(strlen(a) + strlen(b) + 1);
    if(result == NULL) {
      out of memory
      return;
    }
    strcpy(result,a);
    strcat(result,b);
    
        3
  •  1
  •   thkala jaxb    14 年前