%* d是否表示一個或多個整數?在sprintf函數%* d是否表示一個或多個整數?
回答
它被用來操縱打印的數值的最小寬度,並且具體是指寬度不在格式字符串指定的,但作爲一個附加的整數值的論點,即必須是參數前述格式化。換句話說,如果你想使用存儲在變量中的寬度,你可以這樣做:
int width = /* something */;
printf("%*d", width, value);
編輯:哎呀!對於sprintf的正確的語法是:
sprintf(buffer, "%*d", width, value);
只有一句話:這是'printf()'的正確語法,但不是'sprintf()'的語法。 – 2011-04-06 03:20:34
@Bavarious:犯罪!謝謝你的收穫。 – Jollymorphic 2011-04-06 03:23:56
它類似於%2d
,其被「打印2長度整數」,除了長度被指定爲一個參數(不知道的順序)。 Reference
寬度未在格式字符串中指定,而是作爲必須格式化的參數前面的附加整數值參數指定。
在sprintf的情況下,這意味着您將傳遞兩個整數,一個指定字段寬度,另一個指定要轉換的值。
督察:
sprintf(buffer, "%5d", value);
本質上是一樣的:
sprintf(buffer, "%*d", 5, value);
,當你路過值寬度爲文字格式字符串很像,你可以指定一個寬度和一個精度如果你想要的,像這樣的事情:
sprintf(buffer, "%*.*d", 5, 2, value);
還值得注意的是,與scanf
和公司,一個「*」格式的字符串有完全不同的含義(用於將一些投入,但不分配結果的任何東西)。
+1徹底治療,包括'scanf'中的驚人差異。 – 2011-04-06 04:13:14
*表示在這種情況下整數的寬度或間距。 *爲一個佔位符,用於指定的寬度作爲參數要格式化的參數(在這種情況下,整數)
printf("The integer will be printed 10 spaces to the right: %*d", 10, 50);
- 1. MVP - 演示者是否應該有一個整體模型或多個模型?
- 2. R是否有簡寫來表示一個整數序列?
- 3. 擦除一個或多個元素後,矢量數組是否調整大小?
- 4. 速度:四個整數或一個整數與許多操作
- 5. PHP正則表達式 - 一個或多個整數的值
- 6. 如何檢查一個數是否是一個64位整數
- 7. 檢查一個數是否是一個正整數
- 8. 來自異常的負整數是否表示不僅僅是一個數字?
- 9. 檢查一個數組是否是另一個數組的一個整數
- 10. 知道一個Python列表是否有一個項目或多個項目
- 11. 如何測試一個列表中的整數是否可以被另一個列表中的整數整除?
- 12. Angularjs顯示驗證如果一個或多個值是數組
- 13. 如何檢查一個變量是否是一個整數?
- 14. OrientDB是否允許一個或多個頂點的多條邊?
- 15. 檢測整數是否在多個有效整數範圍內
- 16. Vb.net檢查一個數是否是另一個數的多重
- 17. python(2.7)函數採用多個整數和一個列表,並返回一個整數和一個列表
- 18. django.core.exceptions.FieldError:未知字段(一個或多個)(Y,B,d,O)
- 19. 驗證是否存在一個或另一個或兩個(或)
- 20. 將整數表示爲一個字節
- 21. 將一個或多個係數設置爲特定整數
- 22. JQuery確定一個或多個select是否有3個選項
- 23. mysql很多文本列或整數列和一個新表?
- 24. 一個參數或多個
- 25. 操作符%是未定義的參數類型(一個或多個)INT [],整數
- 26. 此標記[0]是否是任何數字或第一個整數?
- 27. 加入多個表來顯示3個表或多個
- 28. 是否有一個用於唯一目的是忽略一個或多個參數的函數?
- 29. 是獲得一個列表和一個整數返回列表
- 30. 檢查一個整數是否在一個範圍內
前述如果假定它是正則表達式那麼你有兩個問題。 – 2011-04-06 04:09:25