是否可以从启动参数定义字符串?
例如,我在头文件中有这段代码:
#define MsgBox "Hello there!"
如何使 #define 字符串来自命令行参数?
所以,如果我像这样启动我的应用程序:app.exe -Test! - MsgBox将被定义为“Test!”。
对不起,如果这是一个不好的解释,但希望至少有一些人理解。 从命令行参数获取 #define MsgBox 非常重要,而不是从程序的入口点获取。所有代码都应该在头文件中。
老实说,我没有尝试任何,因为我不知道从哪里开始。
答案 0 :(得分:0)
这是不可能的,因为#define
是一个预处理器命令。也就是说,您可以将其视为在编译时中进行的查找和替换。 (它们可用于其他事情,但至关重要的是,它在编译时进行评估)。
为什么不使用变量呢?这样它也是类型安全的。
更新:使用define
假设您已将参数存储在某个全局lpCmdLine
然后你的定义变为
#define MsgBox lpCmdLine