将 %d 传递给 strcat() 函数

Pass %d to strcat() fucntion

我正在尝试将类似这样的内容传递给字符串,但它不起作用。我不太了解这个功能,所以我希望有人能向我解释我做错了什么。

strcat(string,("%d;%d;%d;%d;%d;%s;%s;%s;%s;%s", x->n1, x->n2, x->n3, x->n4, x->n5, x->s1, x->s2, x->s3, x->s4, x->s5, x->s6));

看来您要执行的操作如下

sprintf( string + strlen( string ), 
         "%d;%d;%d;%d;%d;%s;%s;%s;%s;%s", 
         x->n1, x->n2, x->n3, x->n4, x->n5, 
         x->s1, x->s2, x->s3, x->s4, x->s5 );

您还可以使用更安全的 snprintf 而不是 sprintf

字符数组 string 必须包含一个(可能为空的)字符串并且足够大以容纳附加的字符串。