我有这里的例子代码,我正在尝试。重新声明变量没有连接
char test[256], test1[256];
char *combine =("Hello '%s', '%s'",test,test2);
我该如何解析我的测试test1的值到我的char * combine中?对于我的测试和测试1,我得到了一个没有链接重新声明的错误。
我有这里的例子代码,我正在尝试。重新声明变量没有连接
char test[256], test1[256];
char *combine =("Hello '%s', '%s'",test,test2);
我该如何解析我的测试test1的值到我的char * combine中?对于我的测试和测试1,我得到了一个没有链接重新声明的错误。
结账sprintf。它可以让你把两个字符串结合起来。
所以,像这样:
char combine[LARGE_ENOUGH_NUMBER_HERE]
sprintf(combine, "Hello %s %s", test1, test2);
声明:
char *combine = ("Hello '%s', '%s'", test, test2);
看起来并不像C在所有。如果要写入格式化的字符串,则应该使用sprintf
系列(来自标准标头<stdio.h>
)。您可以在整个Web上查看文档。如果您使用C99,最好使用snprintf
,这更安全。
// C99
#include <stdio.h>
char combine[1024]; /* Should be long enough to hold the string. */
snprintf (combine, sizeof combine, "Hello '%s', '%s'", test, test2);
非常感谢。我设法通过sprintf来实现我所需要的。 – user1823986
这不是C.也许你是受python的启发? – bmargulies