我了解 argv 和 argc 的作用以及它们的使用方式,但我需要重新创建它们。在 C 语言中,你将如何编写一个函数来模仿它们。
我尝试了几件事,每次重启Apache2都没有成功.
在phpinfo(),register_argc_argv保持"关闭".
我使用Ubuntu 14.04.3 64位,Apache 2.4.7和PHP 5.5.9.
我试过那些:
register_argc_argv = On
register_argc_argv = True
register_argc_argv: On
register_argc_argv: True
Run Code Online (Sandbox Code Playgroud)
在/etc/php5/apache2/php.ini中.
我对传递给程序的argc的数量有问题
所以,当我检查argc它不等于2!
需要帮助,我该如何解决这个问题?
C代码段:
if (2 != argc) {
fprintf(stderr, "Usage: %s <port>\n", argv[0]);
exit(1);
}
Run Code Online (Sandbox Code Playgroud) 我写了这个简单的代码来了解参数系统是如何工作的。我将文本文件拖到.exe文件,并得到2作为输出,而不是我期望的1。为什么是2?Arg 1是.exe本身吗?如何找到参数的文件名?
#include<iostream>
using namespace std;
int main(int argc, char* argv[])
{
int i = 0;
const int max = 100000;
if (argc > 0)
{
cout<< argc <<endl;
}
cin.get(); cin.get();
return 0;
}
Run Code Online (Sandbox Code Playgroud)
还有一个问题。我在哪里可以告知如何访问每个参数并使用这些信息。我的目标是打开所有作为参数传递给.exe的文件。
这不是一个重复的问题,我问为什么当您传递1个参数时返回2。链接中的问题是另一个...