【发布时间】:2017-11-17 17:02:17
【问题描述】:
是否可以在不通过 int main(int, char**) 接收的情况下获取命令行参数?我不想将参数传递给多个方法,因此全局函数将是完美的。另外,我不想通过全局变量自己存储参数。我正在运行 Windows 和 Linux。
编辑: 示例:
int main()
{
int argc = GetArgumentCount();
char ** argv = GetArguments();
return 0;
}
编辑: 在win32中可以使用LPTSTR WINAPI GetCommandLine(void);。
https://msdn.microsoft.com/en-us/library/ms683156(v=vs.85).aspx
我正在寻找 Linux 中的等效函数。
【问题讨论】:
-
读取命令行时不必使用全局变量,这是程序架构的问题。
-
您为什么要这样做?通过
int main(int, char**)获取它们有什么问题?你能给我们什么充分的理由不从传递给main的参数中检索它们吗? -
非常不清楚的问题,因为它缺乏动力。
-
为什么全局函数是完美的而变量不是?正如其他人所说,这种设计似乎很糟糕。
-
@grimgrom:请编辑您的问题以改进它并添加动机和背景。一般来说,你所要求的都是疯狂的。
标签: c++