如何使用另一个变量定义变量。实际上我想要一个完整的字符串,但该字符串应该包含来自另一个变量的数据。
#include <stdio.h>
char *Data1 = "23";
char *Data2 = "267";
char *Data = ("www.mywebsite.com?c=%s&v=%s", Data1, Data2);
int main() {
printf(Data);
return 0;
}
答案 0 :(得分:3)
您可以定义一个数组并使用sprintf()
/snprintf()
生成最终字符串。
像
这样的东西char final[128] = {0}; //128 is arbitrary value
int data1 = 23; //no need to be string for integer value
int data2 = 267;
snprintf(final, 128, "www.mywebsite.com?c=%d&v=%d", data1, data2);
尽管如此,printf(Data);
非常无效。你要么
printf("%s", final);
puts(final);
答案 1 :(得分:0)
您可以使用snprintf
首先定义MAX_LEN和缓冲区
#define MAX_LEN 1000
char Data[MAX_LEN + 1] = "";
然后使用snprintf
填写所有字符串:
snprintf( Data, sizeof(Data), "www.mywebsite.com?c=%s&v=%s", Data1, Data2);