首頁 > 後端開發 > C++ > 如何在不使用運算子的情況下在 C/C 中連接巨集定義的字串?

如何在不使用運算子的情況下在 C/C 中連接巨集定義的字串?

Mary-Kate Olsen
發布: 2024-12-07 06:32:18
原創
636 人瀏覽過

How Can I Concatenate Macro-Defined Strings in C/C   Without the  Operator?

C/C 中基於巨集的字串連線

無法使用## 直接連接C/C 中的巨集定義字串預處理器運算符,主要用於令牌串聯。但是,存在一種解決方法可以實現此目的。

請考慮以下範例:

#define STR1      "s"
#define STR2      "1"
#define STR3      STR1 STR2
登入後複製

此程式碼定義了三個巨集:STR1 帶有字串“s”,STR2 帶有“1”, STR3 作為STR1 和STR2 的串聯。 STR3 的擴展結果為:

#define STR3 "s" "1"
登入後複製

但是,在 C 語言中,兩個由空格分隔的字串並置(如“s”“1”)相當於單一字串“s1” .

因此,下面的程式碼直接連接STR1和STR2,不需要##運算子:

#define STR3 STR1 STR2
登入後複製

這擴充為:

#define STR3 "s1"
登入後複製

以上是如何在不使用運算子的情況下在 C/C 中連接巨集定義的字串?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板