如何在c中使用另一个变量定义一个变量?
How to define one variable using another one in c?
如何使用另一个变量定义变量 variable.Actually 我想要一个完整的字符串,但该字符串应该包含来自另一个变量的数据。
#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;
}
您可以定义一个数组并利用 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);
您可以使用snprintf
首先定义一个MAX_LEN和一个buffer
#define MAX_LEN 1000
char Data[MAX_LEN + 1] = "";
然后使用snprintf
填写所有字符串:
snprintf( Data, sizeof(Data), "www.mywebsite.com?c=%s&v=%s", Data1, Data2);
如何使用另一个变量定义变量 variable.Actually 我想要一个完整的字符串,但该字符串应该包含来自另一个变量的数据。
#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;
}
您可以定义一个数组并利用 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);
您可以使用snprintf
首先定义一个MAX_LEN和一个buffer
#define MAX_LEN 1000
char Data[MAX_LEN + 1] = "";
然后使用snprintf
填写所有字符串:
snprintf( Data, sizeof(Data), "www.mywebsite.com?c=%s&v=%s", Data1, Data2);