gpt4 book ai didi

c - 需要有关简单 C 命令行参数的帮助

转载 作者:太空宇宙 更新时间:2023-11-04 03:54:25 25 4
gpt4 key购买 nike

我真的不知道该如何解释,但这是我的问题:

我试图让我的程序接受命令行参数,然后通过运行程序。 Linux 命令行 (CentOS 6)。

这是主要功能:

int main(int argc, char *argv[])

我正在尝试运行一个 Linux 程序,代码如下:

system("nmap -sT -p 19 1.1.1.* -oG - | grep 19/open > temp");

我想用我输入到 C 程序中的第一个参数替换“1.1.1.*”,例如:

system("nmap -sT -p 19 ", (argv[1]) "-oG - | grep 19/open > temp");

我尝试了多种方法,但似乎都行不通。

总而言之,我正在尝试将我输入程序的第一个参数用于替换系统函数中的“1.1.1.*”。我不知道该怎么做,我是 C 编程的新手。感谢您的所有回复。

最佳答案

snprintf是最安全的方法,这是一个简单的例子,没有对 argc 等进行任何检查......:

#include <string.h> 
#include <stdio.h>

int main(int argc, char *argv[])
{
char buf[200] ;
char str1[] = "nmap -sT -p 19 ";
char str2[] = " -oG - | grep 19/open > temp";

snprintf(buf, 200, "%s%s%s", str1, argv[1], str2);
printf( "%s\n", buf ) ;;
}

关于c - 需要有关简单 C 命令行参数的帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17937359/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com