我究竟需要做什么才能将 argv[1] 的内容传递给不使用参数的函数?
这是如何工作的?
const char *cPtr = argv[1];
并将其传递给带有 0 个参数的 someFunction()!
最佳答案
如果您不想将其作为参数传递,则需要将其放入全局变量中,以便函数可以通过这种方式访问它。我不知道其他方法(除了愚蠢的事情,比如将它写入 main()
中的文件并在函数中读取它):
static char *x;
static void fn(void) {
char *y = x;
}
int main (int argc, char *argv[]) {
x = argv[1];
fn();
return 0;
}
这不是我会做的。由于您无论如何都需要能够更改 fn()
以访问 x
,因此我将重写它以传递参数:
static void fn(char *x) {
char *y = x;
}
int main (int argc, char *argv[]) {
fn(argv[1]);
return 0;
}
当然,除非这是家庭作业、脑筋急转弯或面试题。
关于c++ - 如何将 argv[1] 传递给带有 0 个参数的函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/568301/