簡體   English   中英

如何將字符串作為參數傳遞給C宏

[英]How to pass string as argument to a C macro

我有一個字符串數組char version[][8] = {"new", "old", "latest", "oldest", "ancient"}

我有一個宏

#define FS(file, attr) \
        filesys(file, file_ ##attr## _ops) \

如何將字符串數組version的成員傳遞給FS宏?

你不能。 宏是編譯時間,編譯器將無法以所需方式拼接字符串。 相反,請嘗試使用strcat() ,只是不要忘記您需要跟蹤字符串數組的大小。

您不能在宏中使用任何C功能,因為預處理器對C和C語言一無所知。

請記住,這是編譯時令牌替換。

改用普通功能

暫無
暫無

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

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