我需要在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';
}
提前感谢。
答案 0 :(得分:0)
变化:
void append(char* s, char *c)
为:
void append(char* s, char c)
因为您要将char
(单个字符)附加到char *
(字符串)。
还要确保为respuesta
分配了(足够的)内存 - 它只是上面代码中的一个狂野指针,但希望你实际上有malloc
适当的存储量。