使用C/C 巨集連接字串
在C 和C 中,巨集提供了一種方便的方法來定義常數並在pre 期間執行文字替換-加工。假設您有兩個巨集 STR1 和 STR2,定義如下:
#define STR1 "s" #define STR2 "1"
您想要連接 STR1 和 STR2 以獲得「s1」。有沒有簡單的方法可以使用單一巨集來產生所需的字串?
直接方法
與程式碼中的標記不同,巨集由預處理器處理編譯之前。因此,不能使用「 」等運算子直接將字串與巨集連接。然而,根據具體的語法,也許可以實現這一點。
在這種情況下,C 允許您在巨集擴充期間連接由空格分隔的字串文字。如下修改STR3 定義,您可以實現所需的結果:
#define STR3 STR1 STR2
這擴展為:
#define STR3 "s" "1"
在C 中,用空格分隔兩個字串相當於創建一個單字串。因此,STR3 擴展為字串“s1”。
替代方法
如果直接方法在您的場景中不起作用,替代方法包括使用預處理器條件或傳遞執行串聯的父宏的參數。這些方法可能更複雜,但在不同情況下提供更大的靈活性。
以上是如何使用 C/C 宏連接字串?的詳細內容。更多資訊請關注PHP中文網其他相關文章!