0

是否可以从启动参数中定义一个字符串?

例如,我在头文件中有这段代码:

#define MsgBox "Hello there!"

如何使#define字符串来自命令行参数?

因此,如果我像这样启动我的应用程序:app.exe -Test!- MsgBox 将被定义为“测试!”。

抱歉,如果这是一个不好的解释,但希望至少你们中的一些人能理解。从命令行参数获取#define MsgBox很重要,而不是从程序的入口点获取。所有代码都应该在头文件中。

老实说,我没有尝试过任何事情,因为我不知道从哪里开始。

4

1 回答 1

0

这是不可能的,因为#define它是一个预处理器命令。也就是说,您可以将其视为发生在编译时的查找和替换。(它们可以用于其他事情,但至关重要的是,它是在编译时评估的)。

为什么不只使用变量?这样它也是类型安全的。

更新:使用定义

假设您已将参数存储在某个全局变量中lpCmdLine

然后你的定义变成

#define MsgBox lpCmdLine
于 2013-11-06T12:41:53.090 回答