在头文件中,我有一个参数指定控制文件的名称:
#define CTLFILE "server.ini"
这很好用。但现在我想要这样的东西:
如果我在服务器上
#define CTLFILE "server.ini"
否则如果我在客户端
#define CTLFILE "client.ini"
我该如何实现这个?
最佳答案
您可以在启动程序时传递选项:
例如尝试通过服务器
或客户端
调用以下程序:
#include <stdio.h>
#include <string.h>
#define SERVER_FILE "server.ini"
#define CLIENT_FILE "client.ini"
int main (int argc, char *argv[])
{
if (argc<2)
{
fprintf(stderr, "You mast pass type of envirnment\n!");
return 1;
}
if (strcmp(argv[1], "server") == 0)
{
printf ("File selected: %s\n", SERVER_FILE);
}
else if (strcmp(argv[1], "client") == 0)
{
printf ("File selected: %s\n", CLIENT_FILE);
}
else
{
fprintf(stderr, "Not supported environment %s", argv[0]);
return 1;
}
return 0;
}
关于c++ - 如何根据我们调用程序的环境来初始化参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41609565/