如何在c中使用另一个变量定义一个变量?

时间:2017-01-15 08:19:28

标签: c variable-declaration

如何使用另一个变量定义变量。实际上我想要一个完整的字符串,但该字符串应该包含来自另一个变量的数据。

#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;
}

2 个答案:

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