【发布时间】:2016-09-07 14:05:42
【问题描述】:
现在忘记了我的 C 知识,很难弄清楚如何执行以下操作:
int a = 5; //getting value from a function
int b = 1; //from a function
我想要的是:
char * returnstring = "5:1"; //want to return this
我尝试了以下方法,但它不起作用。
char astr[5], bstr[5];
sprintf( astr, "%d", a);
sprintf( bstr, "%d", b);
char finstr[100]; //final string
strcpy(finstr, astr);
strcpy(finstr, ":");
strcpy(finstr, bstr);
printf ("%s", finstr);
【问题讨论】:
-
为什么投反对票?介意解释吗?只是一个新手在这里用 C 语言问一个基本问题??
-
NMDV:
bstr[5]; sprintf( bstr, "%d", b);肯定容易受到超限的影响。 -
至于为什么DV,“但它不起作用。”是DV磁铁。而是解释发生了什么以及预期什么。就目前而言,它看起来像是一个硬件问题,甚至没有尝试编译和运行。
-
strcpy()不连接,而是替换。如果你想连接,你应该使用strcat()。 -
char *是一个指针。为什么(以及如何)要将两个整数连接成一个指针??
标签: c char int concat string-concatenation