好吧,它可能听起来很愚蠢,但我无法想出一种方法将int/char传递给这个系统调用
这是我希望它如何工作
system ("cal %d %d", month, year);
我希望这会在终端上给我以下命令" cal 3 2009
"
终端将向我显示2009年3月的日历.
但编译器抱怨它有太多的论点
有任何想法吗?我需要让这个方法system ("cal ")
给我一个动态日历.
注意:cal
接受论证cal month year
您需要构建正确的命令行字符串,system()
不会为您执行此操作:
char cmd[64]; snprintf(cmd, sizeof cmd, "cal %d %d", month, year); system(cmd);
关于缓冲区溢出的常见警告适用,但在这种特殊情况下,当两个参数都是整数时,您应该相当安全.