concat char *与char netbea

时间:2014-03-01 23:32:15

标签: c string char

我需要在c中连接一个带字符串的字符串,但我没想到它。这是我的代码的一部分:

  unsigned char c ='d';
  char *respuesta;

   while(ciclo)
    {
        nanosleep((struct timespec[]){{0, INTERVAL_MS}}, NULL);
        //veces++;

       if (read(tty_fd,&c,1)>0)
       {
         write(STDOUT_FILENO,&c,1);
         respuesta = append(respuesta,c); 
       }
       else{ciclo = false;}
    }

    void append(char* s, char *c)
    {
        int len = strlen(s);
        s[len] = c; // in this line I got the error.
        s[len+1] = '\0';
    }

提前感谢。

1 个答案:

答案 0 :(得分:0)

变化:

void append(char* s, char *c)

为:

void append(char* s, char c)

因为您要将char(单个字符)附加到char *(字符串)。

还要确保为respuesta分配了(足够的)内存 - 它只是上面代码中的一个狂野指针,但希望你实际上有malloc适当的存储量。