簡體   English   中英

有沒有辦法在C中傳遞這樣的字符串?

[英]Is there a way to pass strings like this in C?

我有一個接受字符數組(即字符串)作為參數的函數。

但是,整數變量的值也應作為字符串的一部分打印。

例如,如果我有這樣的功能:

int var=10;
void printStr(char str[])
{
   printf("%s", str);
}

我需要用消息打印整數變量“ var”的值

“ var的值為%d”,var

我試過了

printStr( ("The value of var is %d", var) );

但這沒用。

有沒有一種方法可以在不將變量作為參數傳遞給printStr()

在這種情況下,輸出應為

var的值是10

似乎您需要函數sprintf / snprintf來生成字符串。

嘗試這樣的事情:

char tempStr[30];
snprintf(tempStr, sizeof(tempStr), "The value of var is %d", var);
printStr(tempStr);

是你需要的嗎?

也許您會發現函數的可變數量的參數GCC格式屬性對於構建事物很有用。 但是,您將需要對屬性使用GCC,並且沒有任何可移植到其他編譯器的計划。

但是,我不會弄亂這些事情,並且想出了一種無需此操作的方法。

暫無
暫無

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

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