2014-03-01 22 views
0

我需要將一個字符串與c中的char連接起來,但我沒有弄明白。這是我的代碼的一部分:concat char * char charbebe

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'; 
    } 

在此先感謝。

回答

0

變化:

void append(char* s, char *c) 

到:

void append(char* s, char c) 

因爲要附加一個char(單個字符)到char *(串)。

還要確保你已經分配了足夠的內存到respuesta--它只是上面代碼中的一個野指針,但是希望你實際上有一個合適的存儲量。