Verketten von Zeichenfolgen mithilfe von Makros in C/C
In C/C können Makros zum Verketten von Zeichenfolgen verwendet werden. Es stellt sich häufig die Frage: Ist es möglich, als Makros definierte Zeichenfolgen direkt zu verketten, ohne auf Zwischenmakrofunktionen zurückgreifen zu müssen?
Betrachten Sie das folgende Beispiel:
#define STR1 "s" #define STR2 "1" #define STR3 STR1 ## STR2
Das Ziel besteht darin, STR1 und zu verketten STR2, um „s1“ als Wert von STR3 zu erhalten. Die Verwendung einer anderen Makrofunktion zum Übergeben von Argumenten ist eine Option, aber gibt es eine einfachere Methode?
Direkte Verkettung
Tatsächlich gibt es eine unkomplizierte Möglichkeit, Zeichenfolgen direkt mit zu verketten Makros:
#define STR3 STR1 STR2
Diese Definition führt zu Folgendem Erweiterung:
#define STR3 "s" "1"
In C ist das Verketten von Zeichenfolgen durch Trennen durch ein Leerzeichen („s“ „1“) gleichbedeutend mit einer einzelnen Zeichenfolge („s1“). Daher erreicht dieser Ansatz effektiv die gewünschte String-Verkettung.
Das obige ist der detaillierte Inhalt vonKönnen C/C-Makros Strings ohne Hilfsfunktionen direkt verketten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!