C函数不超过n个参数

时间:2014-06-06 09:05:11

标签: c

您好我想知道如何在c中动态使用2个参数的系统函数。

这是我的代码,因为你可以看到有端口号3306,我想动态地使用它(比如用户输入端口号)但是当我尝试添加scanf()时它会给我错误{{ 1}}函数不带3个参数,系统函数不带2个参数..

strcpy()

对于以下代码,如果我想int main () { char command[50]; strcpy( command, "netstat -aon | findstr 3306" ); system(command); return(0); } 编号3306并在scanf()之后将其复原,我应该如何更改。

2 个答案:

答案 0 :(得分:3)

阅读该号码并使用snprintf()

   int port;

   if (scanf("%d", &port) != 1) { /* input error */};

   snprintf( command, sizeof command, "netstat -aon | findstr %d", port );

此外,使用main()的标准签名,例如:int main(int argc, char *argv[])

答案 1 :(得分:0)

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

int main(void)
{
    char *comm1 = "netstat -aon | findstr ";
    char comm2[50];
    char comms[6];
    scanf("%s", &comms);
    strcpy(comm2, comm1);
    strcat(comm2, comms);
    return 0;
}

这比@Blue Moon的答案效率低,但重点是,有很多方法可以做到这一点。