簡體   English   中英

char 數組用字符串和 int 變量初始化 (c)

[英]char array initialize with string and int variable (c)

我想像這樣初始化一個char數組:

char msg[] = "something 12";

到目前為止,這有效,但是為了讓我的 function 更加靈活,我想使用 integer 變量而不是固定的“12”。

所以我想使用類似的東西:

int value = 12;
char msg[] = ("something %d", value);

但這似乎不起作用。 有沒有使用靈活初始化的聰明方法?

謝謝你的幫助。

您可以使用snprintf()

int value = 12;
const char* format = "something %d";
int len = snprintf(NULL, 0, format, value);
char msg[len + 1]; /* Variable-Length Array (C99) */
snprintf(msg, len + 1, format, value);

您可以使用sprintf來組成您的字符串:

char result[100];
int value = 12;

sprintf(result, "Something %d", value);

printf("%s\n", result);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM