没有连接的变量重新声明

时间:2013-02-03 18:02:34

标签: c

这是我正在尝试的示例代码。

char test[256], test1[256];

char *combine =("Hello '%s', '%s'",test,test2);

如何将我的测试test1的值解析为我的char * combine?我的测试和test1没有重新声明重新声明的错误。

2 个答案:

答案 0 :(得分:2)

结帐sprintf。它将允许您组合两个字符串。

所以,比如:

char combine[LARGE_ENOUGH_NUMBER_HERE]
sprintf(combine, "Hello %s %s", test1, test2);

答案 1 :(得分:0)

声明:

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);